WeakEventManager.ProtectedRemoveListener(Object, IWeakEventListener) WeakEventManager.ProtectedRemoveListener(Object, IWeakEventListener) WeakEventManager.ProtectedRemoveListener(Object, IWeakEventListener) WeakEventManager.ProtectedRemoveListener(Object, IWeakEventListener) Method

定義

以前に追加されたリスナーを指定されたソースから削除します。Removes a previously added listener from the provided source.

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)

パラメーター

source
Object Object Object Object

リスナーを削除するソース。The source to remove listeners from.

listener
IWeakEventListener IWeakEventListener IWeakEventListener IWeakEventListener

待機するクラス (IWeakEventListener を実装する必要があります)。The listening class (which must implement IWeakEventListener).

注釈

Manager クラス内でこのメソッドを呼び出すRemoveListenerメソッドWeakEventManager実装します。Call this method within your manager class RemoveListener methods on WeakEventManager implementations. RemoveListener 推奨される名前は、弱いイベント パターン用のリスナーを削除するには、他のクラスを有効にする、マネージャー クラスで定義する静的メソッド。RemoveListener is the suggested name for the static method you define on your manager class to enable other classes to remove a listener for your weak event pattern. RemoveListener 2 つのパラメーターを受け取る必要があります。sourceリスナーを削除すると、場所、およびlistenerクラス。RemoveListener should take two parameters: the source where the listener is removed, and the listener class. RemoveListener実装を呼び出し、ProtectedRemoveListenerメソッドを現在のマネージャーと同じ 2 つのパス パラメーター。For your RemoveListener implementation, call the ProtectedRemoveListener method on the current manager and pass the same two parameters.

呼び出しProtectedRemoveListenerの一覧で、最後のリスナーを削除します。ProtectedRemoveListener呼び出し、StopListeningメソッド特定を内部的には、どの呼び出しがStopListeningポリモーフィズムをオーバーライドします。If a call to ProtectedRemoveListener removes the last listener in the list, ProtectedRemoveListener calls the StopListening method internally, which will call your specific StopListening override through polymorphism.

ProtectedRemoveListener 1 つの内部からのリスナーを削除します。WeakEventManager.ListenerListあたりsourceします。ProtectedRemoveListener removes listeners from a single internal WeakEventManager.ListenerList per source. マネージャーの実装にイベント ソースの組み合わせごとにリスナーの 1 つ以上のリストが保持している場合は使用しないでくださいProtectedRemoveListenerします。If your manager implementation maintains more than one list of listeners for each event-source combination, do not use ProtectedRemoveListener. 代わりに、実装する必要があります作成独自WeakEventManager.ListenerListインスタンス、 RemoveListener 、該当する一覧からのリスナーを削除する必要があり、呼び出すことによって適切なリスナーのリストにイベントを配信する必要があります、DeliverEventToListメソッドの代わりに、DeliverEventメソッド。Instead, your implementation should create its own WeakEventManager.ListenerList instances, RemoveListener should remove listeners from the appropriate list, and events should be delivered to the appropriate listener list by calling the DeliverEventToList method instead of the DeliverEvent method.

適用対象

こちらもご覧ください