UIElement.RemoveHandler(RoutedEvent, Delegate) UIElement.RemoveHandler(RoutedEvent, Delegate) UIElement.RemoveHandler(RoutedEvent, Delegate) Method

Definition

Entfernt den angegebenen Routingereignishandler aus diesem Element.Removes the specified routed event handler from this 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

Parameter

routedEvent
RoutedEvent RoutedEvent RoutedEvent

Der Bezeichner des Routingereignisses, für das der Handler angefügt wurde.The identifier of the routed event for which the handler is attached.

handler
Delegate Delegate Delegate

Die spezifische Handlerimplementierung, die aus der Ereignishandlerauflistung dieses Elements entfernt werden soll.The specific handler implementation to remove from the event handler collection on this element.

Implementiert

Beispiele

Im folgenden Beispiel wird RemoveHandler als Teil einer Ereignisdefinition-Wrapper.The following example uses RemoveHandler as part of an event wrapper definition.

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); }
}
Public Shared ReadOnly TapEvent As RoutedEvent = EventManager.RegisterRoutedEvent("Tap", RoutingStrategy.Bubble, GetType(RoutedEventHandler), GetType(MyButtonSimple))

' Provide CLR accessors for the event
Public Custom Event Tap As RoutedEventHandler
    AddHandler(ByVal value As RoutedEventHandler)
        Me.AddHandler(TapEvent, value)
    End AddHandler

    RemoveHandler(ByVal value As RoutedEventHandler)
        Me.RemoveHandler(TapEvent, value)
    End RemoveHandler

    RaiseEvent(ByVal sender As Object, ByVal e As RoutedEventArgs)
        Me.RaiseEvent(e)
    End RaiseEvent
End Event

Hinweise

Das häufigste Szenario für die Verwendung dieser APIAPI stellt beim Implementieren der Common Language Runtime (CLR)common language runtime (CLR) "Wrapper"-Ereignis, das eines benutzerdefinierten Routingereignisses, insbesondere beim Implementieren der "entfernen"-Logik für Handler auf zugeordnet ist die CLRCLR Ebene.The most common scenario for using this APIAPI is when you implement the Common Language Runtime (CLR)common language runtime (CLR) "wrapper" event that is associated with a custom routed event, specifically when you implement the "remove" logic for handlers at the CLRCLR level. Das Beispiel, in dem dies entspricht Abschnitt veranschaulicht dieses Szenario "Hinweise".The example that follows this remarks section illustrates this scenario.

Das Aufrufen dieser Methode hat keine Auswirkungen, gäbe es keine Handler registriert mit Kriterien, die die Eingabeparameter für den Methodenaufruf entspricht.Calling this method has no effect if there were no handlers registered with criteria that matches the input parameters for the method call.

Wenn mehr als einen Handler, die die Kriterien, die nur der erste Handler übereinstimmen angefügt ist, den Fall, dass Speicher des ereignishandlers entfernt wird.If more than one handler is attached that matched the criteria, only the first handler in the event handler store is removed. Dieses Verhalten ist konsistent mit CLRCLR Verhalten der -= Operator.This behavior is consistent with CLRCLR behavior of the -= operator.

Weder routedEvent noch handler möglicherweise null.Neither routedEvent nor handler may be null. Es wird versucht, einen der Werte null wird eine Ausnahme ausgelöst.Attempting to provide either value as null will raise an exception.

Diese Methode ignoriert die handledEventsToo Informationen zu den Parametern, die bereitgestellt wird, wenn der Handler wurde hinzugefügt, mit der AddHandler(RoutedEvent, Delegate, Boolean) Signatur, die Verarbeitung der bereits behandelten Ereignisse ermöglicht.This method ignores the handledEventsToo parameter information, which is provided if the handler was first added with the AddHandler(RoutedEvent, Delegate, Boolean) signature that enables handling of already-handled events. Beide Arten von Handler entfernt wird.Either type of handler is removed.

Gilt für:

Siehe auch