ExecutedRoutedEventHandler Delegat

Definition

Stellt die Methode dar, die die Executed Ereignisse und PreviewExecuted Routingereignisse sowie zugehörige angefügte Ereignisse behandelt.

public delegate void ExecutedRoutedEventHandler(System::Object ^ sender, ExecutedRoutedEventArgs ^ e);
public delegate void ExecutedRoutedEventHandler(object sender, ExecutedRoutedEventArgs e);
type ExecutedRoutedEventHandler = delegate of obj * ExecutedRoutedEventArgs -> unit
Public Delegate Sub ExecutedRoutedEventHandler(sender As Object, e As ExecutedRoutedEventArgs)

Parameter

sender
Object

Das Objekt, an das der Ereignishandler angefügt ist.

e
ExecutedRoutedEventArgs

Die Ereignisdaten.

Beispiele

In diesem Beispiel wird eine ExecutedRoutedEventHandler visuelle Eigenschaft für das Ziel erstellt, wenn der Befehl ausgeführt wird. Das Beispiel enthält auch denselben CanExecuteRoutedEventHandler Befehl.

// ExecutedRoutedEventHandler for the custom color command.
private void ColorCmdExecuted(object sender, ExecutedRoutedEventArgs e)
{
    Panel target = e.Source as Panel;
    if (target != null)
    {
        if (target.Background == Brushes.AliceBlue)
        {
            target.Background = Brushes.LemonChiffon;
        }
        else
        {
            target.Background = Brushes.AliceBlue;
        }
    }
}

// CanExecuteRoutedEventHandler for the custom color command.
private void ColorCmdCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
    if (e.Source is Panel)
    {
        e.CanExecute = true;
    }
    else
    {
        e.CanExecute = false;
    }
}
' ExecutedRoutedEventHandler for the custom color command.
Private Sub ColorCmdExecuted(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
    Dim target As Panel = TryCast(e.Source, Panel)
    If target IsNot Nothing Then
        If target.Background Is Brushes.AliceBlue Then
            target.Background = Brushes.LemonChiffon
        Else
            target.Background = Brushes.AliceBlue
        End If

    End If
End Sub

' CanExecuteRoutedEventHandler for the custom color command.
Private Sub ColorCmdCanExecute(ByVal sender As Object, ByVal e As CanExecuteRoutedEventArgs)
    If TypeOf e.Source Is Panel Then
        e.CanExecute = True
    Else
        e.CanExecute = False
    End If
End Sub

Hinweise

Dieser Delegat enthält die Implementierungslogik für ein RoutedCommand. Durch das Trennen der Implementierungslogik vom Befehl kann der Befehl aus verschiedenen Quellen und Typen aufgerufen werden und ermöglicht die Zentralisierung der Befehlslogik.

Dieser Delegat wird auch für CommandManager.Executed und CommandManager.PreviewExecuted, die angefügte Ereignisse für die CommandManager Klasse verwendet, die einen Großteil der Befehlsinfrastruktur implementiert. Die meisten praktischen Handler behandeln jedoch die Executed Ereignisse von einem bestimmten CommandBindingEreignis, anstatt auf ebener CommandManager Ebene zu arbeiten.

In diesem Bereich ExecutedRoutedEventArgssind die folgenden Eigenschaften im Allgemeinen von Interesse, wenn Sie einen Ereignishandler für ein routingfähiges Ereignis schreiben, das aus einem ausgeführten Befehl resultiert:

  • Source meldet das Ziel, an dem der Befehl ausgeführt wurde. Nachdem der Befehl ausgeführt wurde, können Sie sich auch die Source allgemeineren Begriffe des Routingereignisses vorstellen, als das Objekt, das ein Routingereignis ausgelöst hat.

  • Command meldet den ausgeführten Befehl. Diese Eigenschaft ist nützlich, wenn Sie Befehlsbindungen verwenden und Handler schreiben, die potenziell mehrere Befehle behandeln.

  • Parameter meldet alle befehlsspezifischen Parameter, die vom ausgeführten Befehl übergeben wurden. Nicht alle Befehle verwenden oder erwarten befehlsspezifische Parameter.

  • Handled meldet, ob das Routingereignis, das aus dem ausgeführten Befehl resultierte, bereits von einem anderen Element entlang der Route behandelt wurde. Bei Routingereignishandlern empfiehlt es sich, Handler zu verwenden, die bei der Behandlung des Ereignisses Handled auf "Handler" truesinnvoll arbeiten. Dadurch wird verhindert, dass typische Handler für das Ereignis das Ereignis weiter entlang der Route behandeln. Weitere Informationen zum Behandeln von Routingereignissen finden Sie unter "Markieren von Routingereignissen als behandelt" und "Klassenbehandlung".

Dieser Delegat stellt auch Handler für CommandManager.Executed und CommandManager.PreviewExecutedEvent, die angefügte Ereignisse für die CommandManager Klasse darstellen, die einen Großteil der Befehlsinfrastruktur implementiert. Die meisten praktischen Handler behandeln jedoch die Executed Ereignisse von einem bestimmten CommandBindingEreignis, anstatt auf ebener CommandManager Ebene zu arbeiten.

Weitere Informationen zum Befehlen finden Sie unter Commanding Overview.

Erweiterungsmethoden

Name Beschreibung
GetMethodInfo(Delegate)

Ruft ein Objekt ab, das die vom angegebenen Delegaten dargestellte Methode darstellt.

Gilt für:

Weitere Informationen