(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

ExecutedRoutedEventHandler-Delegat

Stellt die Methode dar, die CommandBinding.Executed- und CommandBinding.PreviewExecuted-Routingereignisse sowie verwandte angefügte Erignisse behandelt.

Namespace:  System.Windows.Input
Assembly:  PresentationCore (in PresentationCore.dll)
public delegate void ExecutedRoutedEventHandler(
	Object sender,
	ExecutedRoutedEventArgs e
)

Parameter

sender
Typ: System.Object
Das Objekt, an das der Ereignishandler angefügt wird.
e
Typ: System.Windows.Input.ExecutedRoutedEventArgs
Die Ereignisdaten.

Dieser Delegat enthält die Implementierungslogik für einen RoutedCommand. Das Trennen der Implementierungslogik vom Befehl ermöglicht das Aufrufen des Befehls von verschiedenen Quellen und Typen sowie die Zentralisierung der Befehlslogik.

Dieser Delegat wird auch für CommandManager.Executed und CommandManager.PreviewExecuted verwendet, wobei es sich um angefügte Ereignisse der CommandManager-Klasse handelt, die einen Großteil der Befehlsinfrastruktur implementiert. In der Praxis behandeln die meisten Handler die Executed-Ereignisse jedoch aus einem bestimmten CommandBinding und nicht auf der CommandManager-Ebene.

Wenn Sie einen Ereignishandler für ein Routingereignis schreiben, das das Ergebnis eines ausgeführten Befehls ist, sind innerhalb von ExecutedRoutedEventArgs i. d. R. die folgenden Eigenschaften nützlich:

  • Source meldet das Ziel, an dem der Befehl ausgeführt wurde. Nach Ausführung des Befehls kann die Source in Bezug auf Routingereignisse allgemeiner als das Objekt betrachtet werden, das ein Routingereignis ausgelöst hat.

  • Command meldet den Befehl, der ausgeführt wurde. Diese Eigenschaft ist nützlich, wenn Sie Befehlsbindungen verwenden und Handler schreiben, die möglicherweise mehrere Befehle behandeln.

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

  • Handled meldet, ob das Routingereignis, das das Ergebnis des ausgeführten Befehls war, bereits von einem anderen Element im Durchlauf behandelt wurde. Für Routingereignishandler besteht die empfohlene Verfahrensweise darin, Handled auf true festzulegen, damit Handler beim Behandeln eines Ereignisses sinnvoll eingesetzt werden. Dadurch wird vermieden, dass typische Handler für das betreffende Ereignis dieses Ereignis später im Durchlauf behandeln. Weitere Informationen über die Behandlung von Routingereignissen finden Sie unter Markieren von Routingereignissen als behandelt und Klassenbehandlung.

Dieser Delegat stellt auch Handler für CommandManager.Executed und CommandManager.PreviewExecutedEvent dar, wobei es sich um angefügte Ereignisse der CommandManager-Klasse handelt, die einen Großteil der Befehlsinfrastruktur implementiert. In der Praxis behandeln die meisten Handler die Executed-Ereignisse jedoch aus einem bestimmten CommandBinding und nicht auf der CommandManager-Ebene.

Weitere Informationen über Befehle finden Sie unter Befehlsübersicht.

In diesem Beispiel wird ein ExecutedRoutedEventHandler erstellt, der bei Ausführung des Befehls eine visuelle Eigenschaft für das Ziel festlegt. Das Beispiel schließt außerdem den CanExecuteRoutedEventHandler für denselben Befehl ein.


// 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;
    }
}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.