手动执行WPF路由命令

Osk*_*kar 2 c# wpf routed-commands

RoutedUICommand从代码隐藏手动执行自定义时,如下所示:

MyCommands.MyCommand.Execute(parameter, target)
Run Code Online (Sandbox Code Playgroud)

我需要先调用CanExecute方法还是已经在Execute方法中完成了?

Bri*_*sio 10

不要假设使用Execute调用CanExecute.ICommand的接口并不意味着它在调用Execute时调用CanExecute,因此如果只在CanExecute为true时执行它很重要,那么只需自己检查即可.

另外,扫描RoutedUICommand的解压缩代码,我没有看到在Execute中检查CanExecute的任何地方.

确定何时调用Execute/CanExecute确实更有消费者的责任.