作者:老薛
撰写时间:2021/5/27
MVVM是Model-View-ViewModel的缩写形式,它通常被用于WPF或Silverlight开发。
Model——可以理解为带有字段,属性的类。
View——可以理解为我们所看到的UI。
View Model在View和Model之间,起到连接的作用,并且使得View和Model层分离。View Model不仅仅是Model的包装,它还包含了程序逻辑,以及Model扩展,例如,如果Model中有一个公开属性不需要在UI上显示,此时我们可以不再View Model中去定义它。
MVVM有工具类概念吗?
1、第一种方法:封装一个dll库
2、第二种方法:添加一个Commons文件夹,放帮助类
3、第三种方法:直接将帮助方法写在ViewModel类中
我们来看下面图1:
图1
在ViewModels层中新建TestViewModel.cs(Caliburn.Micro的自动匹配功能需要我们遵循严格的命名规范,显示层必须命名为Views,ViewModel层必须命名为ViewModels,并且xaml文件必须以View结尾,ViewModel的cs文件必须以ViewModel结尾)
新建一个Bootstrapper类,继承BootstrapperBase,我们来看下面图2:
图2
重写OnStartup方法,使用 DisplayRootViewFor();指定启动的ViewModel,Caliburn.Micro可以根据xxxxViewModel对应xxxxView的协定,自动实例化View,Caliburn.Micro支持View First和ViewModel First两种方式来创建View。完全不用在View的后台代码中写DataContext=new xxxViewModel()代码,十分方便。