在WPF / Prism中,当一个DelegateCommand.RaiseCanExecuteChanged被触发时,CompositeCommand会发生什么?

时间:2010-11-23 22:41:09

标签: c# wpf mvvm prism delegatecommand

假设我有一个CompositeCommand,注册了很多DelegateCommands。

如果其中一个子DelegateCommands触发了RaiseCanExecuteChanged,这将导致触发事件CompositeCommand.CanExecuteChanged,在其他子节点中引发同一事件,或者它只会影响活动的DelegateCommand?

1 个答案:

答案 0 :(得分:2)

刚想出来了。通过分析Prism的内部结构,我注意到CompositeCommand在其子项的CanExecuteChanged事件中注册了自己。因此,每次注册命令引发CanExecuteChanged处理程序时,复合命令本身及其所有子代都会执行相同的操作。