私が持っているMenuそれぞれの場所MenuItemの階層では、その持っているCommandにプロパティセットをRoutedCommand私が定義されてきました。関連付けられたCommandBindingは、CanExecute各の有効状態を制御する評価のコールバックを提供しますMenuItem。
これはほとんど機能します。メニュー項目は、最初は正しい有効と無効の状態で表示されます。ただし、CanExecuteコールバックが使用するデータが変更された場合、この新しい状態をUIに反映させるために、コールバックからの結果を再要求するコマンドが必要です。
これに関する、RoutedCommandまたはCommandBindingこれに関するパブリックメソッドはないようです。
コントロールをクリックまたは入力すると、コールバックが再び使用されることに注意してください(マウスオーバーでは更新が発生しないため、入力時にトリガーされると思います)。