15、Silverlight中的路由事件与事件冒泡机制详解

Silverlight中的路由事件与事件冒泡机制详解

1. 路由事件概述

在开发中,事件是对象(如Silverlight元素)发出的消息,用于在重要事情发生时通知代码。WPF引入了事件路由的新概念,增强了.NET事件模型。事件路由允许事件在一个元素中发起,却由另一个元素引发。例如,在一个形状上的点击事件可以上升到该形状的容器,再到包含该容器的页面,最后由代码处理。

Silverlight借鉴了WPF的部分路由事件模型,但形式上大大简化。WPF支持多种类型的路由事件,而Silverlight仅支持一种:冒泡事件。冒泡事件会从嵌套较深的元素沿着包含层次结构向上传播到其容器。并且,Silverlight的事件冒泡仅与少数键盘和鼠标输入事件(如MouseMove和KeyDown)相关,且仅由少数低级元素支持。Silverlight的高级控件事件(如Click)不使用事件冒泡,自定义控件的事件也无法使用事件路由。

2. 核心元素事件

Silverlight元素的基本事件集继承自两个核心类:UIElement和FrameworkElement。所有Silverlight元素都派生自这两个元素。

2.1 UIElement类事件

UIElement类定义了处理用户输入的最重要事件,也是唯一使用事件冒泡的事件。以下是UIElement类的事件列表:
| 事件 | 是否冒泡 | 描述 |
| ---- | ---- | ---- |
| KeyDown | 是 | 按下键时发生 |
| KeyUp | 是 | 释放键时发生 |
| TextInput | 是 | 元素接收到字符时发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值