在WPF中,事件和命令是两种不同的处理用户交互的方式。事件是一种传统的.NET机制,它允许一个对象通知另一个对象发生了某种情况。命令是一种更高级的机制,它能使得一个对象请求另一个对象执行某种任务,并且可以跟踪该任务是否可执行。
目录
9.1 事件处理机制模型
WPF应用程序开发人员和组件创建者可以使用路由事件,通过元素树来传播事件,并在树中的多个侦听器上调用事件处理程序。 公共语言运行时 (CLR) 事件(即CLR事件,也称作直接事件)中没有这些功能。下面分别介绍这两种事件形式的机制模型。
9.1.1 直接事件
事件的前身是消息(Message),事件模型隐藏了消息机制的很多细节,使得开发逻辑变得简单。事件驱动机制的三个关键点是:
- 事件的拥有者:也就是消息的发送者(Sender)。事件的宿主在某些条件下激发它拥有的事件,触发后使得消息被发送。