UIElement.RemoveHandler(RoutedEvent, Delegate) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Usuwa z tego elementu określoną procedurę obsługi zdarzeń kierowanych.
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)
Parametry
- routedEvent
- RoutedEvent
Identyfikator zdarzenia kierowanego, dla którego jest dołączony program obsługi.
- handler
- Delegate
Określona implementacja programu obsługi, która ma zostać usunięta z kolekcji obsługi zdarzeń w tym elemecie.
Implementuje
Przykłady
W poniższym przykładzie użyto RemoveHandler jako części definicji otoki zdarzeń.
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
Uwagi
Najbardziej typowym scenariuszem użycia tego interfejsu API jest zaimplementowanie zdarzenia "otoki" środowiska uruchomieniowego języka wspólnego (CLR), które jest skojarzone z niestandardowym zdarzeniem kierowanym, w szczególności podczas implementowania logiki "usuń" dla procedur obsługi na poziomie CLR. Przykład, który jest zgodny z tą sekcją uwag, ilustruje ten scenariusz.
Wywołanie tej metody nie ma wpływu, jeśli nie zarejestrowano procedur obsługi z kryteriami, które pasują do parametrów wejściowych wywołania metody.
Jeśli dołączono więcej niż jedną procedurę obsługi zgodną z kryteriami, zostanie usunięty tylko pierwszy program obsługi w magazynie programu obsługi zdarzeń. To zachowanie jest zgodne z zachowaniem -=
środowiska CLR operatora.
Ani routedEvent
handler
nie może być null
. Próba podania jednej z tych wartości null
spowoduje wystąpienie wyjątku.
Ta metoda ignoruje informacje o parametrach handledEventsToo
, które są udostępniane, jeśli program obsługi został dodany po raz pierwszy z podpisem AddHandler(RoutedEvent, Delegate, Boolean) , który umożliwia obsługę zdarzeń już obsługiwanych. Usuwany jest dowolny typ procedury obsługi.