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)。

注解

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

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

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

适用于

另请参阅