3
是否有可能阻止WPF CommandManager执行连接CanExecute委托?防止WPF CommandManager执行CanExecute
我有一个未处理的异常处理程序例程,显示用户的错误窗口。在CanExecute链的一部分引发异常的情况下,我有一种情况。这会调用显示窗口的异常处理程序。此时,CommandManager会踢入并重新调用CanExecute,抛出另一个异常,调用处理程序,显示另一个窗口,重新调用CanExecute,抛出另一个异常等等等等等等等等。
我需要防止重新运行的CanExecute。我试图简单地忽略处理程序中的后续错误,但这意味着错误窗口中的异常信息是空白的。
有你有你的命令'CanExecuteChanged'事件手动链接到'CommandManager.RequerySuggested'事件? – 2010-10-29 15:31:03
我正在使用Cinch框架,其中包含一个SimpleCommand类,它按照Josh Smith的实现在此执行此操作:http://joshsmithonwpf.wordpress.com/2008/06/17/allowing-commandmanager-to-query-your- icommand-objects/ – Darren 2010-10-29 16:02:47
考虑使用不同的命令实现。如果您有兴趣,请尝试PerrypheralFramework.WPF。这意味着使用框架的ViewModelBase进行工作。当一个属性被改变时,或者当你要求一个视图模型使用一个视图模型方法为它内部的所有命令引发事件时,查询这些命令。 – 2014-11-02 23:53:50