WeakEventManager.ProtectedRemoveListener(Object, IWeakEventListener) 方法

定义

从提供的源中移除以前添加的侦听器。

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

要从中移除侦听器的源。

listener
IWeakEventListener

侦听类(必须实现 IWeakEventListener)。

注解

在管理器类 RemoveListener 方法中 WeakEventManager 针对实现调用此方法。 RemoveListener 是你在管理器类上定义的静态方法的建议名称,使其他类能够删除弱事件模式的侦听器。 RemoveListener 应采用两个参数: source 删除侦听器的位置和 listener 类。 RemoveListener对于实现,请在当前管理器上调用ProtectedRemoveListener该方法并传递相同的两个参数。

如果调用删除 ProtectedRemoveListener 列表中的最后一个侦听器, ProtectedRemoveListener 请在内部调用 StopListening 该方法,该方法将通过多态性调用特定的 StopListening 替代。

ProtectedRemoveListener从每个source内部的单个内部WeakEventManager.ListenerList删除侦听器。 如果管理器实现为每个事件源组合维护多个侦听器列表,请不要使用 ProtectedRemoveListener。 相反,实现应创建自己的 WeakEventManager.ListenerList 实例, RemoveListener 应从相应的列表中删除侦听器,并且应通过调用 DeliverEventToList 方法而不是 DeliverEvent 方法将事件传递到相应的侦听器列表。

适用于

另请参阅