1.介绍
轻量(相对于Prism),专注(仅负责MVVM架构模式的实现,没有其他多余的组件),高效(使用简易,省时省力).
2.获取MVVMLight框架
.NETFramework环境引入
.NET环境下引入
MvvmLightLibs就行
3.MVVMLight主要程序库
4.MVVMLight框架常用对象
5.详细说明
5.1ViewModelLocator类中
使用
5.2 ICleanup清除内存
MainWindow中弹出子窗体,但在子窗体绑定的数据模型中开启一个线程,该线程不会随着子窗体的关闭而关闭
在ViewModelLocator类中做统一的对象释放
在子窗体关闭事件中调用
5.3使用Set也能通知到UI
5.4设计模式和运行模式IsInDesignMode
5.5 ObservableObject
同样有INotifyPropertyChanged接口的能力
public class MainModel:ObservableObject
{
private int myVar;
public int MyProperty
{
get { return myVar; }
set {Set(ref myVar,value); }
}
}
5.6 ICommand命令
参数必须是引用类型
可带参数
若传递EventArgs参数
5.7Messenger全局消息
注册
发送消息
由主窗体可再发送到子窗体
5.8如何拿到子窗体的打开关闭状态
定义一个类
注册
发送消息
5.9 IOC支持
模型
基于IOC容器注入对象
窗体绑定
子窗体绑定