47、样式、行为、模板与自定义控件全解析

样式、行为、模板与自定义控件全解析

1. 源与目标的互换

在操作的源和目标方面,有一个鲜为人知的事实:它们是可互换的。开发者能够设置操作的目标和源元素。可以使用操作的 TargetName 属性设置目标,同时,还能通过包含触发器的 SourceName 属性设置源。这意味着操作的源不一定是放置操作的元素。

这种设计支持两种不同的场景:
- 告知模型 :触发器和操作嵌套在源元素内部,即告知操作对特定目标执行操作。
- 监听模型 :操作在目标中定义,并让其监听不同的源元素。

无论哪种方式,操作的工作方式相同,并且在 Expression Blend 中都有便捷的设计时支持。

2. 行为的创建

虽然操作常被描述为行为,但还有另一种由 Behavior 类表示的行为。行为和操作的目标相同,都是封装 UI 功能,以便无需编写代码就能将其应用于元素。不过,操作是完成单个任务的独立代码片段,每个操作都能独立使用,且操作和触发器相互补充,单个操作不与特定触发器关联。

而行为则将相关操作组合在一起,涵盖了触发器(监听特定事件或更改)和操作(执行相应操作)的工作。例如,Deep Zoom 功能由多个事件处理程序组成,允许使用鼠标按钮和鼠标滚轮平移和缩放 Deep Zoom 图像,这些代码被封装在一个名为 DeepZoomBehavior 的行为中。

创建自定义行为示例

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值