Auf Englisch lesen

Freigeben über


UIElement.RemoveHandler(RoutedEvent, Delegate) Methode

Definition

Entfernt den angegebenen Routingereignishandler aus diesem Element.

C#
public void RemoveHandler (System.Windows.RoutedEvent routedEvent, Delegate handler);

Parameter

routedEvent
RoutedEvent

Der Bezeichner des Routingereignisses, für das der Handler angefügt wurde.

handler
Delegate

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

Implementiert

Beispiele

Im folgenden Beispiel wird als Teil einer Ereigniswrapperdefinition verwendet RemoveHandler .

C#
public static readonly RoutedEvent TapEvent = EventManager.RegisterRoutedEvent(
    "Tap", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(MyButtonSimple));

// Provide CLR accessors for the event
public event RoutedEventHandler Tap
{
        add { AddHandler(TapEvent, value); } 
        remove { RemoveHandler(TapEvent, value); }
}

Hinweise

Das häufigste Szenario für die Verwendung dieser API besteht darin, dass Sie das "Common Language Runtime"-Ereignis (CLR) implementieren, das einem benutzerdefinierten Routingereignis zugeordnet ist, insbesondere wenn Sie die Logik "remove" für Handler auf CLR-Ebene implementieren. Im folgenden Beispiel wird dieses Szenario veranschaulicht.

Das Aufrufen dieser Methode hat keine Auswirkung, wenn keine Handler mit Kriterien registriert wurden, 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 noch handler darf es sein null. Der Versuch, einen beiden Wert bereitzustellen, löst null eine Ausnahme aus.

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

Gilt für

Produkt Versionen
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7

Siehe auch