Freigeben über


CommandBinding.Executed Ereignis

Definition

Tritt auf, wenn der Befehl, der dieser CommandBinding zugeordnet ist, ausgeführt wird.

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

Ereignistyp

Beispiele

Im folgenden Beispiel wird eine CommandBinding erstellt, die dem Open Befehl einen ExecutedRoutedEventHandler und einen CanExecuteRoutedEventArgs Handler zuordnet.

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

Die folgende Abbildung zeigt, ExecutedRoutedEventHandler die eine MessageBox erstellt, wenn der Befehl ausgeführt wird.

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

Hinweise

Wenn ein RoutedCommand ausgeführt wird, löst es das PreviewExecuted -Ereignis für das Befehlsziel aus. Wenn das PreviewExecuted Ereignis nicht behandelt wird, wird das Executed Ereignis auf dem Befehlsziel ausgelöst. Wenn das Befehlsziel einen CommandBinding für den spezifischen Befehl enthält, wird der Executed Handler für diesen CommandBinding aufgerufen. Wenn das Befehlsziel keinen für diesen bestimmten Befehl hat CommandBinding , wird das Executed Ereignis in der Elementstruktur nach einem Element gesucht, dem ein CommandBinding zugeordnet ist. Wenn ein CommandBinding nicht gefunden wird, wird der Befehl nicht behandelt.

Informationen zum Routingereignis

Bezeichnerfeld ExecutedEvent
Routingstrategie Bubbling
Delegat ExecutedRoutedEventHandler

Gilt für:

Weitere Informationen