WPF_MVVM框架(5)
2024-09-08 19:23:22
- 1.NuGet引用MVVM框架包
- 引入该框架包之后, 默认会在目录下创建ViewModel层的示例代码
- 引入该框架包之后, 默认会在目录下创建ViewModel层的示例代码
- 2.第二步, 通过在MainViewModel中创建一些业务代码, 将其与MainWindow.xaml 通过上下文的方式关联起来, 而MainWindow则是通过Binding的写法 引用业务逻辑的部分。
- 在MainViewModel中, 添加同一个班级名称, 与学生列表, 分别用于显示在文本 和列表上展示, Command则用于绑定DataGrid的双击命令上, 通过双击, 展示点击行的学生信息:
- 在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命令
运行测试效果:
最新文章
- CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
- python中mysqldb的用法
- 在虚拟机中安装CentOS7
- IE6/7/8中parseInt第一个参数为非法八进制字符串且第二个参数不传时返回值为0
- offsetHeight 正则表达式验证格式
- 安装小企鹅fcitx输入法
- Java Day 08
- ubuntu 终端只显示当前目录名称
- Spring IOC 之个性化定制the nature of a bean
- 自定义事件解决重复请求BUG
- CollectionUtils工具类的常用方法
- ansible的lookup
- Servlet-session简介及使用场景
- 奇怪吸引子---Qi
- HDU-2874-森林求LCA/tarjan
- 一些网站的meta标签的作用
- OAF 通过个性化 在标准事件上添加验证
- Node.js中module文件定义的top-level变量为何是私有的
- Java NIO之拥抱Path和Files
- win10下Visual Studio 2015,C++ x64编译zlib