網站首頁 編程語言 正文
1.NuGet引用MVVM框架包
引入該框架包之后, 默認會在目錄下創建ViewModel層的示例代碼
2.第二步, 通過在MainViewModel中創建一些業務代碼, 將其與MainWindow.xaml 通過上下文的方式關聯起來, 而MainWindow則是通過Binding的寫法 引用業務邏輯的部分。
在MainViewModel中, 添加同一個班級名稱, 與學生列表, 分別用于顯示在文本 和列表上展示, Command則用于綁定DataGrid的雙擊命令上, 通過雙擊, 展示點擊行的學生信息:
MainViewModel 繼承了 ViewModelBase, 該繼承的父類實在MVVM框架中, 實現雙向通知的基類, 通過引用該類, 那么其之類的屬性則可通過 添加 RaisePropertyChanged() 即可。
- 為MainViewModel添加一些模擬數據
? - ?設計UI層, 添加一個文本用于顯示班級名稱, ?添加一個DataGrid 用于展示學生列表, ?同時DataGrid中添加一個綁定的命令(紅色區域)
關于上面紅色圈的代碼, 為一種綁定語法, 主要在MouseBinding中, MouseAction 以為觸發的事件類型, CommandParameter 則是命令傳遞的參數, 也就是DataGrid選中的一行的類型 Student。
Command 則是MainViewModel中定義的Command
- 現在, 前端的綁定工作已經設置好, 后臺的代碼也添加完成, 目前只需要將MainViewModel 與MainWindow 通過MainWindow的DataContext關聯即可
運行效果如下:
RaisePropertyChanged() 實現動態通知更新
+ 通過set訪問器更新ClassName的同時, 調用RaisePropertyChanged 方法, 界面刷新更新后的值
+ 添加一個無參數的UpdateCommand , 并設置為 UpdateText 手動把ClassName更新為 "高三三班":
+ UI層添加一個簡單按鈕, 綁定后臺的UpdateCommand命令
運行測試效果:
原文鏈接:https://www.cnblogs.com/zh7791/p/11397273.html
相關推薦
- 2022-11-02 Python中turtle庫常用代碼匯總_python
- 2022-11-04 golang?cache帶索引超時緩存庫實戰示例_Golang
- 2022-05-25 Python小游戲實現實例之接蘋果_python
- 2022-10-31 解決Python3中二叉樹前序遍歷的迭代問題_python
- 2022-05-29 .NET?Core中的HttpClientFactory類用法詳解_實用技巧
- 2023-09-12 SpringBoot整合MQTT(MqttClient)
- 2023-04-06 C語言中雙鏈表的基本操作_C 語言
- 2022-05-04 配置Spring.Net框架開發環境_實用技巧
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支