Freigeben über


ContentElement.RemoveHandler(RoutedEvent, Delegate) Methode

Definition

Entfernt den angegebenen Routingereignishandler aus diesem Element.

public:
 virtual void RemoveHandler(System::Windows::RoutedEvent ^ routedEvent, Delegate ^ handler);
public void RemoveHandler (System.Windows.RoutedEvent routedEvent, Delegate handler);
abstract member RemoveHandler : System.Windows.RoutedEvent * Delegate -> unit
override this.RemoveHandler : System.Windows.RoutedEvent * Delegate -> unit
Public Sub RemoveHandler (routedEvent As RoutedEvent, handler As Delegate)

Parameter

routedEvent
RoutedEvent

Der Bezeichner des Routingereignisses, dem der Handler angefügt ist.

handler
Delegate

Die spezifische Handlerimplementierung, die aus der Ereignishandlerauflistung dieses Elements entfernt werden soll.

Implementiert

Hinweise

Das häufigste Szenario für die Verwendung dieser API ist, wenn Sie das allgemeine Sprachlaufzeitereignis (CLR) -Ereignis implementieren, das einem benutzerdefinierten routed-Ereignis zugeordnet ist, insbesondere wenn Sie die Logik "remove" für Handler auf CLR-Ebene implementieren. Das Beispiel, das diesem Abschnitt folgt, veranschaulicht dieses Szenario.

Das Aufrufen dieser Methode hat keine Auswirkung, wenn keine mit Kriterien registrierten Handler vorhanden sind, die den Eingabeparametern für den Methodenaufruf entsprechen.

Wenn mehrere Handler angefügt sind, die den Kriterien entsprechen, wird nur der erste Handler im Ereignishandlerspeicher entfernt. Dieses Verhalten entspricht dem CLR-Verhalten des -= Operators.

Weder routedEvent handler noch kann es sein null. Es wird versucht, einen Wert bereitzustellen, wie null eine Ausnahme ausgelöst wird.

Diese Methode ignoriert die Parameterinformationen, die bereitgestellt werden, wenn der handledEventsToo Handler zuerst mit der AddHandler(RoutedEvent, Delegate, Boolean) Signatur hinzugefügt wurde, die die Behandlung bereits behandelter Ereignisse ermöglicht. Jeder Typ des Handlers wird entfernt.

Gilt für

Siehe auch