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