学习了一些MVVM的开发实例,参考了一些博客文章,这里对于一些重要的点,做个记录。
1. WinForm更新UI的操作是通过后台操作UI名,即ID来完成的。WPF是通过数据Binding来实现UI更新的。
2. WinForm响应用户操作的方式是事件Event。WPF是通过命令(Command)Binding的方式。
MVVM中,通过Binding可以实现数据的传递,通过Command可以实现操作的调用。Binding和Command是可以写在XAML中的, 这样看来XAML后面对于的CS文件可以被完全抛弃或不予理会了,这样的XAML文件正是美工所需要的。
而这些对于Binding以及Command的定义描述以及其他相关信息的代码应该放在那里呢,当然不是View, 更不是Model,是“ViewModel”。ViewModel是为这个View所量身定制的,它包含了Binding所需的相关信息,比如Converter以及为View的Binding提供DataContext,它包含了Command的定义以便View层可以直接使用, 另外,它还是一个变种的Controler, 它得负责业务流程的调度。
一个简单的MVVM操作流程:
第一步:最简单的 MVVM 示例 - 把后台代码移到类中
第二步:添加绑定 - 消灭后台代码
第三步:添加执行动作和“INotifyPropertyChanged”接口
第四步:在 ViewModel 中解耦执行动作
第五步:在View中使用执行动作
参考链接
https://blog.csdn.net/yl2isoft/article/details/20838149
https://blog.csdn.net/mybelief321/article/details/44423845