我有一個查看多個Button
s和一樣多的Command
s。對於每Command
我想我將不得不實施ICommand
。我的程序將包含一個statemachine,所以命令的CanExecute可能會改變運行時。 的CanExecuteChanged
的唯一實現的例子this:CanExecuteChanged的正確實施
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
但here中指出,這種實現是一個壞的解決方案。應該使用RaiseCanExecuteChanged()
。
但我找不到CanExecuteChanged
與RaiseCanExecuteChanged
正確實施。 Here我發現一個基本的例子,但用戶稱它
是一個非常簡單的實現(這可能會偶爾丟一個NullReferenceException)
我更喜歡代碼,不以一次拋出異常而。有人有更好的例子嗎?