ExecutedRoutedEventHandler Delegat
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt die Methode für die Behandlung der Routingereignisse Executed und PreviewExecuted sowie verwandter angefügter Ereignisse dar.
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.
Die Ereignisdaten.
Beispiele
In diesem Beispiel wird eine ExecutedRoutedEventHandler erstellt, die eine visuelle Eigenschaft auf dem Ziel festlegt, wenn der Befehl ausgeführt wird. Das Beispiel enthält auch den CanExecuteRoutedEventHandler für denselben 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. Das Trennen der Implementierungslogik vom Befehl ermöglicht das Aufrufen des Befehls aus verschiedenen Quellen und Typen und ermöglicht die Zentralisierung der Befehlslogik.
Dieser Delegat wird auch für CommandManager.Executed und CommandManager.PreviewExecutedverwendet, bei denen es sich um angefügte Ereignisse für die CommandManager Klasse handelt, die einen Großteil der Befehlsinfrastruktur implementiert. Die meisten praktischen Handler behandeln jedoch die Executed Ereignisse eines bestimmten CommandBinding, anstatt auf der CommandManager Ebene zu arbeiten.
In ExecutedRoutedEventArgssind die folgenden Eigenschaften im Allgemeinen von Interesse, wenn Sie einen Ereignishandler für ein Routingereignis schreiben, das aus einem ausgeführten Befehl resultiert:
Source meldet das Ziel, in dem der Befehl ausgeführt wurde. Nachdem der Befehl ausgeführt wurde, können Sie sich auch das Source allgemeinere als Routingereignis 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 möglicherweise mehrere Befehle verarbeiten.
Parameter meldet alle befehlsspezifischen Parameter, die vom ausführenden Befehl übergeben wurden. Nicht alle Befehle verwenden oder erwarten befehlsspezifische Parameter.
Handled gibt an, ob das Routingereignis, das aus dem ausgeführten Befehl resultierte, bereits von einem anderen Element entlang der Route behandelt wurde. Für Routingereignishandler wird empfohlen, Handler zu verwenden, die bei der Behandlung des Ereignisses sinnvoll arbeiten, um auf
true
festzulegenHandled. Dadurch wird verhindert, dass typische Handler für das Ereignis das Ereignis weiter unten auf der Route erneut behandeln. Weitere Informationen zur Behandlung von Routingereignissen finden Sie unter Markieren von Routingereignissen als verarbeitet und Klassenbehandlung.
Dieser Delegat stellt auch Handler für CommandManager.Executed und CommandManager.PreviewExecutedEventdar, bei denen es sich um angefügte Ereignisse für die CommandManager Klasse handelt, die einen Großteil der Befehlsinfrastruktur implementiert. Die meisten praktischen Handler behandeln jedoch die Executed Ereignisse eines bestimmten CommandBinding, anstatt auf der CommandManager Ebene zu arbeiten.
Weitere Informationen über Befehle finden Sie unter Befehlsübersicht.
Erweiterungsmethoden
GetMethodInfo(Delegate) |
Ruft ein Objekt ab, das die Methode darstellt, die vom angegebenen Delegaten dargestellt wird. |