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