Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 我是否可以在不使用InvalidateRequestSuggested()的情况下在MediaCommand上引发CanExecute?_Wpf_Routed Commands_Commandbinding - Fatal编程技术网

Wpf 我是否可以在不使用InvalidateRequestSuggested()的情况下在MediaCommand上引发CanExecute?

Wpf 我是否可以在不使用InvalidateRequestSuggested()的情况下在MediaCommand上引发CanExecute?,wpf,routed-commands,commandbinding,Wpf,Routed Commands,Commandbinding,我有一些自定义的commandbinding,用于确定各种媒体命令(播放、暂停等)的CanExecute状态。我想触发CanExecute处理程序在某些时候被调用。但是,我知道如何执行此操作的唯一方法是使用InvalidateRequestSuggested(),这会导致所有内容都重新计算其CanExecute。这太过分了,太慢了,所以我想找出一种更好、更有针对性的方法来更新这些命令上的CanExecute 看起来,如果我使用DelegateCommand,我可以通过调用RaiseCanceTe

我有一些自定义的commandbinding,用于确定各种媒体命令(播放、暂停等)的CanExecute状态。我想触发CanExecute处理程序在某些时候被调用。但是,我知道如何执行此操作的唯一方法是使用InvalidateRequestSuggested(),这会导致所有内容都重新计算其CanExecute。这太过分了,太慢了,所以我想找出一种更好、更有针对性的方法来更新这些命令上的CanExecute

看起来,如果我使用DelegateCommand,我可以通过调用RaiseCanceTechChanged来实现这一点,但如果可能的话,我希望使用现有的MediaCommand来实现这一点


如果没有任何直接的方法可以做到这一点,那么有没有什么黑客的变通方法呢?我注意到在内部重新计算CanExecute时有一些智能(比如第一次显示UIElements等)

应该有继承,这样CanExecute方法应该是可访问的。。