命令基础与命令深入
MVVMLight :命令基础
在MVVM Light框架中,事件是WPF应用程序中UI与后台代码进行交互的最主要方式,与传统方式不同,mvvm中主要通过绑定到命令来进行事件的处理,因此要了解mvvm中处理事件的方式,就必须先熟悉命令的工作原理。
RelayCommand命令:
WPF命令是通过实现ICommand接口创建的。ICommand 公开了两个方法(Execute及CanExecute)和一个事件(CanExecuteChanged)。
Execute方法 :CanExecute 方法
执行与命令关联的操作:
确定是否可以在当前命令目标上执行命令,返回值为true则按钮可用,为false的时候按钮disable。在MvvmLight中实现ICommand接口的类是RelayCommand
RelayCommand通过构造函数初始化Execute和CanExecute方法,因此,构造函数传入的是委托类型的参数,
Execute和CanExecute则执行的是委托的方法。
最大的特点就是解耦View和ViewModel的行为交互,将视图的显示和业务逻辑分开。对View上的某个元素进行命令的绑定,触发点击操作的时候,这个按钮实际完成 的是对应ViewModel中的所绑定的方法的执行。这里我们用到Mvvm框架中的RelayCommand。
MVVMLight:命令深入
一、命令带参数的情况:
如果视图控件所绑定的命令想要传输参数,需要配置 CommandParameter属性,用来传输参数出去。
而继承制Icommand接口的RelayCommand又支持泛型的能力