UIElement.RemoveHandler(RoutedEvent, Delegate) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rimuove il gestore dell'evento indirizzato specificato da questo elemento.
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)
Parametri
- routedEvent
- RoutedEvent
Identificatore dell'evento indirizzato al quale è associato il gestore.
- handler
- Delegate
Implementazione del gestore specifico da rimuovere dalla raccolta di gestori eventi per questo elemento.
Implementazioni
Esempio
Nell'esempio seguente viene RemoveHandler usato come parte di una definizione del wrapper di eventi.
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
Commenti
Lo scenario più comune per l'uso di questa API è quando si implementa l'evento clr (Common Language Runtime) "wrapper" associato a un evento indirizzato personalizzato, in particolare quando si implementa la logica "remove" per i gestori a livello CLR. L'esempio che segue questa sezione osservazioni illustra questo scenario.
La chiamata a questo metodo non ha alcun effetto se non sono presenti gestori registrati con criteri che corrispondono ai parametri di input per la chiamata al metodo.
Se sono associati più gestori che soddisfano i criteri, viene rimosso solo il primo gestore nell'archivio del gestore eventi. Questo comportamento è coerente con il comportamento CLR dell'operatore -=
.
Né routedEvent
né può essere null
.handler
Se si tenta di specificare uno dei due valori, null
verrà generata un'eccezione.
Questo metodo ignora le informazioni sui handledEventsToo
parametri, fornite se il gestore è stato aggiunto per la prima volta con la AddHandler(RoutedEvent, Delegate, Boolean) firma che consente la gestione degli eventi già gestiti. Viene rimosso uno dei due tipi di gestore.