Freigeben über


WeakEventManager.ProtectedRemoveListener(Object, IWeakEventListener) Methode

Definition

Entfernt einen zuvor hinzugefügten Listener aus der bereitgestellten Quelle.

protected:
 void ProtectedRemoveListener(System::Object ^ source, System::Windows::IWeakEventListener ^ listener);
protected void ProtectedRemoveListener (object source, System.Windows.IWeakEventListener listener);
member this.ProtectedRemoveListener : obj * System.Windows.IWeakEventListener -> unit
Protected Sub ProtectedRemoveListener (source As Object, listener As IWeakEventListener)

Parameter

source
Object

Die Quelle, aus der Listener entfernt werden sollen.

listener
IWeakEventListener

Die Überwachungsklasse (diese muss IWeakEventListener implementieren).

Hinweise

Rufen Sie diese Methode in Ihren Managerklassenmethoden RemoveListener für Implementierungen auf WeakEventManager . RemoveListener ist der vorgeschlagene Name für die statische Methode, die Sie für Ihre Managerklasse definieren, um anderen Klassen das Entfernen eines Listeners für Ihr schwaches Ereignismuster zu ermöglichen. RemoveListener sollte zwei Parameter übernehmen: der source Speicherort, an dem der Listener entfernt wird, und die listener Klasse. Rufen Sie für Ihre RemoveListener Implementierung die ProtectedRemoveListener Methode für den aktuellen Manager auf, und übergeben Sie dieselben beiden Parameter.

Wenn ein Aufruf zum ProtectedRemoveListener Entfernen des letzten Listeners in der Liste ProtectedRemoveListener die StopListening Methode intern aufruft, die Ihre spezifische StopListening Überschreibung durch Polymorphismus aufruft.

ProtectedRemoveListener Entfernt Listener aus einem einzelnen internen WeakEventManager.ListenerList pro source. Wenn ihre Managerimplementierung mehrere Listener für jede Ereignisquellenkombination verwaltet, verwenden ProtectedRemoveListenerSie diese nicht. Stattdessen sollte Ihre Implementierung eigene WeakEventManager.ListenerList Instanzen erstellen, RemoveListener Listener aus der entsprechenden Liste entfernen, und Ereignisse sollten an die entsprechende Listenerliste übermittelt werden, indem Sie die DeliverEventToList Methode anstelle der DeliverEvent Methode aufrufen.

Gilt für

Siehe auch