CommandBinding.Executed CommandBinding.Executed CommandBinding.Executed CommandBinding.Executed Event

定義

この CommandBinding に関連付けられたコマンドが実行されたときに発生します。Occurs when the command associated with this CommandBinding executes.

public:
 event System::Windows::Input::ExecutedRoutedEventHandler ^ Executed;
public event System.Windows.Input.ExecutedRoutedEventHandler Executed;
member this.Executed : System.Windows.Input.ExecutedRoutedEventHandler 
Public Event Executed As ExecutedRoutedEventHandler 

次の例ではCommandBindingExecutedRoutedEventHandler CanExecuteRoutedEventArgsとハンドラーをコマンドにマップするを作成します。OpenThe 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)

コマンドの実行時ExecutedRoutedEventHandlerにをMessageBox作成するを次に示します。The following shows the ExecutedRoutedEventHandler which creates a MessageBox when the command is executed.

void OpenCmdExecuted(object target, ExecutedRoutedEventArgs e)
{
    String command, targetobj;
    command = ((RoutedCommand)e.Command).Name;
    targetobj = ((FrameworkElement)target).Name;
    MessageBox.Show("The " + command +  " command has been invoked on target object " + targetobj);
}
Private Sub OpenCmdExecuted(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
    Dim command, targetobj As String
    command = CType(e.Command, RoutedCommand).Name
    targetobj = CType(sender, FrameworkElement).Name
    MessageBox.Show("The " + command + " command has been invoked on target object " + targetobj)
End Sub

注釈

RoutedCommand実行されると、コマンドPreviewExecutedターゲットでイベントが発生します。When a RoutedCommand executes, it raises the PreviewExecuted event on the command target. イベントが処理Executedされない場合は、コマンドターゲットでイベントが発生します。 PreviewExecutedIf the PreviewExecuted event is not handled, the Executed event is raised on the command target. コマンドターゲットに特定のコマンドCommandBinding Executedのが含まれている場合は、 CommandBindingそののハンドラーが呼び出されます。If the command target has a CommandBinding for the specific command, the Executed handler for that CommandBinding is called. コマンドターゲットに特定のコマンドCommandBinding用のがない場合、イベントはExecuted要素ツリーをバブルアップして、コマンドに関連付けCommandBindingられているを持つ要素を検索します。If the command target does not have a CommandBinding for that specific command the Executed event bubbles up the element tree searching for an element that has a CommandBinding associated with the command. CommandBindingが見つからない場合、コマンドは処理されません。If a CommandBinding is not found, the command is not handled.

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

識別子フィールドIdentifier field ExecutedEvent
ルーティング方法Routing strategy バブリングBubbling
DelegateDelegate ExecutedRoutedEventHandler

適用対象

こちらもご覧ください