Silverlight 中的路由事件与鼠标交互详解
1. 路由事件概述
在 .NET 开发中,事件是对象(如 Silverlight 元素)发送的消息,用于在重要事情发生时通知代码。WPF 引入了事件路由的概念,增强了 .NET 事件模型,允许事件在一个元素中发起,却由另一个元素引发。例如,一个形状上的点击事件可以向上传递到其容器,再到包含该容器的页面,最后由代码处理。
Silverlight 借鉴了 WPF 的部分路由事件模型,但进行了大幅简化。WPF 支持多种类型的路由事件,而 Silverlight 仅支持一种:冒泡事件,即事件从嵌套较深的元素向其容器逐级传递。并且,Silverlight 的事件冒泡仅与少数键盘和鼠标输入事件(如 MouseMove 和 KeyDown )相关,且仅由少数低级元素支持。需要注意的是,Silverlight 不会对高级控件事件(如 Click )使用事件冒泡,也不能在自定义控件的事件中使用事件路由。
2. 核心元素事件
Silverlight 元素的基本事件集继承自两个核心类: UIElement 和 FrameworkElement 。所有 Silverlight 元素都派生自这两个元素。
2.1 UIElement 类事件
UIElement 类定义了处理用户输入的最重要事件,也是唯一使用事件冒泡的事件。以下是 UIElement 类的事件列表:
| 事件
超级会员免费看
订阅专栏 解锁全文
60

被折叠的 条评论
为什么被折叠?



