CommandBinding.CanExecute イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この CommandBinding に関連付けられているコマンドが、コマンド ターゲットでコマンドを実行できるかどうかを判断するチェックを開始するときに発生します。
public:
event System::Windows::Input::CanExecuteRoutedEventHandler ^ CanExecute;
public event System.Windows.Input.CanExecuteRoutedEventHandler CanExecute;
member this.CanExecute : System.Windows.Input.CanExecuteRoutedEventHandler
Public Custom Event CanExecute As CanExecuteRoutedEventHandler
Public Event CanExecute As CanExecuteRoutedEventHandler
イベントの種類
例
次の例では、ExecutedRoutedEventHandlerとCanExecuteRoutedEventArgs ハンドラーを Open コマンドにマップするCommandBindingを作成します。
<Window.CommandBindings>
<CommandBinding Command="ApplicationCommands.Open"
Executed="OpenCmdExecuted"
CanExecute="OpenCmdCanExecute"/>
</Window.CommandBindings>
// Creating CommandBinding and attaching an Executed and CanExecute handler
CommandBinding OpenCmdBinding = new CommandBinding(
ApplicationCommands.Open,
OpenCmdExecuted,
OpenCmdCanExecute);
this.CommandBindings.Add(OpenCmdBinding);
' Creating CommandBinding and attaching an Executed and CanExecute handler
Dim OpenCmdBinding As New CommandBinding(ApplicationCommands.Open, AddressOf OpenCmdExecuted, AddressOf OpenCmdCanExecute)
Me.CommandBindings.Add(OpenCmdBinding)
CanExecuteをtrueに設定するCanExecuteRoutedEventHandlerを次に示します。
void OpenCmdCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = true;
}
Private Sub OpenCmdCanExecute(ByVal sender As Object, ByVal e As CanExecuteRoutedEventArgs)
e.CanExecute = True
End Sub
注釈
RoutedCommandのCanExecute メソッドが呼び出されると、コマンド ターゲットでPreviewCanExecute イベントが発生します。 イベントが処理されない場合は、 CanExecute イベントが発生します。 コマンド ターゲットにコマンドのCommandBindingがある場合は、そのCommandBindingのCanExecute ハンドラーが呼び出されます。 コマンド ターゲットにコマンドの CommandBinding がない場合、 CanExecute イベントは、コマンドに関連付けられた CommandBinding を持つ要素を検索する要素ツリーをバブル アップします。
ルーティング イベント情報
| 品目 | 価値 |
|---|---|
| 識別子フィールド | CanExecuteEvent |
| ルーティング戦略 | バブル |
| 代理人 | CanExecuteRoutedEventHandler |
- 対応するトンネリング イベントが PreviewCanExecute。