MVVMLight 6:命令基础 在MVVM Light框架中,事件是WPF应用程序中UI与后台代码进行交互的最主要方式,与传统方式不同,mvvm中主要通过绑定到命令来进行事件的处理,因此要了解mvvm中处理事件的方式,就必须先熟悉命令的工作原理。RelayCommand命令:WPF命令是通过实现 ICommand 接口创建的。 ICommand 公开了两个方法(Execute 及CanExecute)和一个事件(CanExecuteChanged)。
RelayCommand通过构造函数初始化Execute 和 CanExecute方法,因此,构造函数传入的是委托类型的参数,Execute 和 CanExecute则执行的是委托的方法。如图:
相对于CodeBehind 的方式,使用命令会好很多:Execute方法执行与命令关联的操作CanExecute方法 确定是否可以在当前命令目标上执行命令,返回值为true则按钮可用,为false的时候按钮disable。在MvvmLight中实现ICommand接口的类是RelayCommand最大的特点就是解耦View和ViewModel的行为交互,将视图的显示和业