WeakEventManager 类

定义

为在“弱事件模式”中使用的事件管理器提供基类。 管理器为也使用该模式的事件(或回调)添加和移除侦听器。

public ref class WeakEventManager abstract : System::Windows::Threading::DispatcherObject
public abstract class WeakEventManager : System.Windows.Threading.DispatcherObject
type WeakEventManager = class
    inherit DispatcherObject
Public MustInherit Class WeakEventManager
Inherits DispatcherObject
继承
WeakEventManager
派生

注解

当事件源的对象生存期独立于事件侦听器时,通常使用弱事件模式。 使用 的中心 WeakEventManager 事件调度功能允许对侦听器的处理程序进行垃圾回收,即使源对象仍然存在也是如此。 相比之下,使用 += 运算符的常规事件挂钩会导致可能断开连接的源保留对侦听器的引用。 这可以防止接收方及时进行垃圾回收。

源和侦听器之间的生存期关系应使用弱事件模式的一种常见情况是处理来自数据绑定的更新事件。

弱事件模式还可用于回调和常规事件。

实施者说明

有关自定义 WeakEventManager的示例,请参阅 弱事件模式

构造函数

WeakEventManager()

在基类值由派生类的构造函数用作初始值设定项时初始化基类值。

属性

Dispatcher

获取与此 Dispatcher 关联的 DispatcherObject

(继承自 DispatcherObject)
Item[Object]

获取或设置为指定的源存储的数据。

ReadLock

在基础数据表上建立读取锁定,并返回 IDisposable

WriteLock

在基础数据表上建立写入锁定,并返回 IDisposable

方法

CheckAccess()

确定调用线程是否可以访问此 DispatcherObject

(继承自 DispatcherObject)
DeliverEvent(Object, EventArgs)

将正在托管的事件传送到每个侦听器。

DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList)

将正在托管的事件传送到所提供列表中的每个侦听器。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetCurrentManager(Type)

返回用于所提供类型的 WeakEventManager 实现。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
NewListenerList()

返回包含事件侦听器的新对象。

ProtectedAddHandler(Object, Delegate)

添加指定的委托为指定源的事件处理程序。

ProtectedAddListener(Object, IWeakEventListener)

将提供的侦听器添加到为托管事件所提供的源中。

ProtectedRemoveHandler(Object, Delegate)

从指定的源中移除以前添加的处理程序。

ProtectedRemoveListener(Object, IWeakEventListener)

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

Purge(Object, Object, Boolean)

从所提供源的数据列表中移除不活动的侦听器项。 如果某些项实际上已经从列表中移除,则返回 true

Remove(Object)

移除指定源的所有侦听器。

ScheduleCleanup()

要求在优先级较低的线程上清除基础侦听器列表中未使用的项。

SetCurrentManager(Type, WeakEventManager)

为指定的管理器类型设置当前管理器。

StartListening(Object)

在派生类中重写时,开始侦听被托管的事件。 第一次调用 StartListening(Object) 方法后,只要处理了所提供源中的相关事件,管理器就应处于调用 DeliverEvent(Object, EventArgs)DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) 的状态。

StopListening(Object)

在派生类中重写时,停止为被托管的事件侦听所提供的源。

ToString()

返回表示当前对象的字符串。

(继承自 Object)
VerifyAccess()

强制调用线程具有此 DispatcherObject 的访问权限。

(继承自 DispatcherObject)

适用于

另请参阅