UIElement.RemoveHandler(RoutedEvent, Delegate) Methode
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.
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, 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 .
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 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.