UIElement.RemoveHandler(RoutedEvent, Delegate) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Supprime le gestionnaire d’événements routés spécifié de cet élément.
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)
Paramètres
- routedEvent
- RoutedEvent
Identificateur de l'événement routé pour lequel le gestionnaire est attaché.
- handler
- Delegate
Implémentation de gestionnaire spécifique à supprimer de la collection de gestionnaires d’événements de cet élément.
Implémente
Exemples
L’exemple suivant s’utilise RemoveHandler dans le cadre d’une définition de wrapper d’événements.
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
Remarques
Le scénario le plus courant pour l’utilisation de cette API est lorsque vous implémentez l’événement CLR (Common Language Runtime) « wrapper » associé à un événement routé personnalisé, en particulier lorsque vous implémentez la logique « remove » pour les gestionnaires au niveau du CLR. L’exemple suivant cette section remarques illustre ce scénario.
L’appel de cette méthode n’a aucun effet s’il n’y avait aucun gestionnaire inscrit avec des critères qui correspondent aux paramètres d’entrée de l’appel de méthode.
Si plusieurs gestionnaires sont attachés qui correspondent aux critères, seul le premier gestionnaire du magasin de gestionnaires d’événements est supprimé. Ce comportement est cohérent avec le comportement CLR de l’opérateur -=
.
Ni routedEvent
ne handler
peut être null
. Toute tentative de fournir l’une ou l’autre de ces valeurs null
génère une exception.
Cette méthode ignore les handledEventsToo
informations de paramètre fournies si le gestionnaire a été ajouté pour la première fois avec la AddHandler(RoutedEvent, Delegate, Boolean) signature qui permet la gestion des événements déjà gérés. L’un ou l’autre type de gestionnaire est supprimé.