WPF引用MVVM框架與使用方法
1.NuGet引用MVVM框架包
引入該框架包之后, 默認(rèn)會(huì)在目錄下創(chuàng)建ViewModel層的示例代碼
2.第二步, 通過(guò)在MainViewModel中創(chuàng)建一些業(yè)務(wù)代碼, 將其與MainWindow.xaml 通過(guò)上下文的方式關(guān)聯(lián)起來(lái), 而MainWindow則是通過(guò)Binding的寫(xiě)法 引用業(yè)務(wù)邏輯的部分。
在MainViewModel中, 添加同一個(gè)班級(jí)名稱(chēng), 與學(xué)生列表, 分別用于顯示在文本 和列表上展示, Command則用于綁定DataGrid的雙擊命令上, 通過(guò)雙擊, 展示點(diǎn)擊行的學(xué)生信息:
MainViewModel 繼承了 ViewModelBase, 該繼承的父類(lèi)實(shí)在MVVM框架中, 實(shí)現(xiàn)雙向通知的基類(lèi), 通過(guò)引用該類(lèi), 那么其之類(lèi)的屬性則可通過(guò) 添加 RaisePropertyChanged() 即可。
- 為MainViewModel添加一些模擬數(shù)據(jù)
- 設(shè)計(jì)UI層, 添加一個(gè)文本用于顯示班級(jí)名稱(chēng), 添加一個(gè)DataGrid 用于展示學(xué)生列表, 同時(shí)DataGrid中添加一個(gè)綁定的命令(紅色區(qū)域)
關(guān)于上面紅色圈的代碼, 為一種綁定語(yǔ)法, 主要在MouseBinding中, MouseAction 以為觸發(fā)的事件類(lèi)型, CommandParameter 則是命令傳遞的參數(shù), 也就是DataGrid選中的一行的類(lèi)型 Student。
Command 則是MainViewModel中定義的Command
- 現(xiàn)在, 前端的綁定工作已經(jīng)設(shè)置好, 后臺(tái)的代碼也添加完成, 目前只需要將MainViewModel 與MainWindow 通過(guò)MainWindow的DataContext關(guān)聯(lián)即可
運(yùn)行效果如下:
RaisePropertyChanged() 實(shí)現(xiàn)動(dòng)態(tài)通知更新
+ 通過(guò)set訪(fǎng)問(wèn)器更新ClassName的同時(shí), 調(diào)用RaisePropertyChanged 方法, 界面刷新更新后的值
+ 添加一個(gè)無(wú)參數(shù)的UpdateCommand , 并設(shè)置為 UpdateText 手動(dòng)把ClassName更新為 "高三三班":
+ UI層添加一個(gè)簡(jiǎn)單按鈕, 綁定后臺(tái)的UpdateCommand命令
運(yùn)行測(cè)試效果:
到此這篇關(guān)于WPF引用MVVM框架與使用方法的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ASP.NET中CheckBoxList復(fù)選框列表控件詳細(xì)使用方法
本文主要介紹CheckBoxList幾種常見(jiàn)的用法,并做出范例演示供大家參考,希望對(duì)學(xué)習(xí)asp.net的朋友有所幫助。2016-04-04asp.net(C#) Access 數(shù)據(jù)操作類(lèi)
asp.net(C#) Access 數(shù)據(jù)操作類(lèi) 實(shí)現(xiàn)代碼,有需要這方面的朋友可以熟悉下。2009-06-06C#簡(jiǎn)單獲取屏幕鼠標(biāo)坐標(biāo)點(diǎn)顏色方法介紹
C#簡(jiǎn)單獲取屏幕鼠標(biāo)坐標(biāo)點(diǎn)顏色方法介紹;有需求的朋友可以參考下2012-11-11