来自《深入浅出WPF》(刘铁猛)读书笔记
WPF命令实现了ICommand接口的类,这个接口只包括:
i)Execute方法;
ii)CanExecute方法:在执行之前用来探知命令是否可被执行;
iii)CanExecuteChanged事件:当命令可执行状态发生改变时,可激发此事件来通知其他对象。
以ApplicationCommands为例,当一个命令到达命令目标后,具体是执行Copy还是Cut(业务逻辑)不是有命令决定的,而是外围的CommandBinding捕获到的命令目标受命令激发而发送的路由事件后在其Executed事件处理器中完成的。换句话说,就算你的CommandBinding在捕捉到Copy命令后执行的是清除操作业也与命令无关。
自定义命令:WPF中没有的命令;或者实现ICommand接口,定义自己的命令并且把某些业务逻辑也包括在命令之中。