WPF命令
WPF的命令是经常使用的,在MVVM中,RelayCommand更是用得非常多,但是命令的本质究竟是什么,有了事件为什么还要命令,命令与事件的区别是什么呢?MVVM里面是如何包装命令的呢?命令为什么能够触发呢?带着这些疑问,我们深入讲解下命令: 首先看看命令系统的几个基本元素: 1) 命令(Command):实现了ICommand接口的类,用得最多的是RoutedCommand. ICommand的成员: event EventHandler CanExecuteChanged; bool CanExecute(object parameter);确定此命令能否执行的方法 void Execute(object parameter);执行命令调用的方法 2) 命令源(Command Source):即命令的发送者,是实现了ICommandSource接口的类,很多界面元素都实现了这个接口,其中包括Button, MenuItem, ListBoxItem等。 ICommandSource成员: ICommand Command{get;} 获取将在调用命令源时执行的命令 object CommandParameter{get; } 命令参数。 IInputElement CommandTarget{get;} 将在其上执行命令的对象。 3)命令目标