CommandBinding.CanExecute CommandBinding.CanExecute CommandBinding.CanExecute CommandBinding.CanExecute Event

定義

この CommandBinding に関連付けられたコマンドがコマンド ターゲットで実行可能かどうかのチェックを開始したときに発生します。Occurs when the command associated with this CommandBinding initiates a check to determine whether the command can be executed on the command target.

public:
 event System::Windows::Input::CanExecuteRoutedEventHandler ^ CanExecute;
public event System.Windows.Input.CanExecuteRoutedEventHandler CanExecute;
member this.CanExecute : System.Windows.Input.CanExecuteRoutedEventHandler 
Public Event CanExecute As CanExecuteRoutedEventHandler 

次の例では、作成、CommandBindingマップされる、ExecutedRoutedEventHandlerCanExecuteRoutedEventArgsハンドラーをOpenコマンド。The following example creates a CommandBinding that maps an ExecutedRoutedEventHandler and a CanExecuteRoutedEventArgs handler to the Open command.

<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)

次に示す、CanExecuteRoutedEventHandlerセットCanExecutetrueします。The following shows the CanExecuteRoutedEventHandler which sets CanExecute to true.

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

注釈

ときに、CanExecuteメソッドをRoutedCommandが呼び出される、PreviewCanExecuteイベントは、コマンド ターゲットで発生します。When the CanExecute method on a RoutedCommand is called, the PreviewCanExecute event is raised on the command target. イベントが処理されない場合、CanExecuteイベントが発生します。If the event is not handled, the CanExecute event is raised. コマンド ターゲットがある場合、CommandBindingコマンドの場合、CanExecuteをハンドラーCommandBindingが呼び出されます。If the command target has a CommandBinding for the command, the CanExecute handler for that CommandBinding is called. コマンド ターゲットがあるない場合、CommandBindingコマンドの場合、CanExecuteイベント バブルを要素ツリーを持つ要素を検索、CommandBindingコマンドに関連付けられています。If the command target does not have a CommandBinding for the command, the CanExecute event bubbles up the element tree searching for an element that has a CommandBinding associated with the command.

ルーティングされたイベント情報Routed Event Information

識別子フィールドです。Identifier field CanExecuteEvent
ルーティング方法Routing strategy バブルBubbling
DelegateDelegate CanExecuteRoutedEventHandler

適用対象

こちらもご覧ください