UIElement.RemoveHandler(RoutedEvent, Delegate) Méthode

Définition

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 utilise RemoveHandler dans le cadre d’une définition de wrapper d’événement.

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 utiliser cette API est quand vous implémentez l’événement « Wrapper » common language runtime (CLR) qui est associé à un événement routé personnalisé, en particulier quand vous implémentez la logique de suppression des gestionnaires au niveau du CLR. L’exemple qui suit cette section Remarques illustre ce scénario.

L’appel de cette méthode n’a aucun effet si aucun gestionnaire n’est inscrit avec des critères qui correspondent aux paramètres d’entrée pour l’appel de méthode.

Si plusieurs gestionnaires sont attachés et 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 du CLR de l' -= opérateur.

Ni routedEvent ni handler n’est null . Toute tentative de fournir une valeur comme lève null une exception.

Cette méthode ignore les handledEventsToo informations sur les paramètres, qui sont fournies si le gestionnaire a été ajouté pour la première fois avec la AddHandler(RoutedEvent, Delegate, Boolean) signature qui active la gestion des événements déjà gérés. L’un ou l’autre type de gestionnaire est supprimé.

S’applique à

Voir aussi