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