この質問が以前に議論されたか、近くの巨大なプリズムおよび mvvm ブログで間接的に回答されたかどうかを厳密に判断しないでください。RelayCommand または DelegateCommand クラスの WPF 実装には、そのようなイベント ハンドラがあります。
/// <summary>
/// Occurs whenever the state of the application changes such that the result
/// of a call to <see cref="CanExecute"/> may return a different value.
/// </summary>
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
ただし、名前空間の SL サブセットには CommandManager クラスはありません。そして、これは私が立ち往生しているところです。SL への MVVM の採用では、これに対する回避策をまだ見つけていません (PRISM はまだ私にとって非常に複雑です)。さまざまな単純な HelloWorldMVVM アプリはまったく処理しません。
事前に感謝し、私の英語で申し訳ありません -)