WPF之深入浅出话事件

就像属性系统在WPF中得到了升级、进化为依赖属性一样,事件系统在WPF也得到了升级-----进化成为了路由事件(Routed Event),并在其基础上衍生出命令传递机制。这些机制在很大程度上减少了对程序员的束缚,让程序的设计和实现更加的灵活,模块之间的耦合度也进一步降低,这一章我们一起来领略一下新消息机制的风采。

8.1              近观WPF的树形结构

路由一词的意思大概是这样:起点和终点间有若干个中转站。从起点出发后经过每个中转站时要做出选择,最终以最快的路径形式到达终点。编程的本质是借助编译器来扩展操作系统的功能。所以,程序的基本运行不可能脱离操作系统------Windows本身就是一种消息驱动的操作系统,所以我们的程序注定是消息驱动的。程序运行的时候也要把自己的消息系统和整个系统的消息系统“连通”才能够被执行或者相应。纵观几代WIndows平台程序开发,最早的WIndowAPI开发(C语言)和MFC开发我们可以直接看到各种消息并可以定义自己的消息;到了COM和VB时代,消息被分装为事件(EVENT)并一直沿用至.net开发平台---无论怎么说,程序间模块使用消息互相通讯的本质是没有变的。从Windows API到传统的.NET开发,消息的传递都是直接模式的---即消息直接由发送中交给接收者。WPF把这种直接消息模型升级为可传递的消息模型----前面我们已经知道,WPF的UI是由布局控件和控件构成的树形结构,当这棵树上的某个节点激发出某个事件的时候,程序员可以选择用传统的直接事件模式让响应者来响应,也可以让这个事件在UI组件树上沿着一定的方向传递且通过多个中转节点。并在这个路由过程中被恰当的处理。你可以把WPF的路由事件看作是一只小蚂蚁,它可以从树的根部向顶部(或反向)目标爬行。每路过一个分支的交叉点就会把这个消息带给这个交叉点。

  • 10
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: WPF深入浅出源码是一篇由CSDN博主韦静之所写的源码解析文章,主要介绍了WPF的架构、控件、布局、数据绑定和事件系统等方面。文章从WPF的核心类DependencyObject和DependencyProperty入手,讲解了WPF的属性系统。在讲解控件的过程中,作者通过剖析Button控件的源码,介绍了WPF控件的模板和样式。布局方面,文章从Grid和Canvas两种布局方式入手,详细介绍了WPF布局的机制和实现。数据绑定和事件系统也得到了充分的解析和剖析。整篇文章详细而清晰地解释了WPF的实现原理,并用大量的代码示例支撑,所以对于有一定WPF开发经验的开发人员来说,这篇文章意义重大,可以加深开发人员对WPF的理解和使用。对于初学WPF的人来说,这篇文章虽然内容有些难度,但通过认真阅读,也可以获得一定的收获和启示。总之,WPF深入浅出源码这篇文章对于各类WPF开发人员都有着较高的参考价值。 ### 回答2: WPF(Windows Presentation Foundation)是一种面向Windows的桌面应用程序开发技术,它提供了许多现代化的 UI 设计技术和工具,可以让开发者更加方便地创建富客户端应用程序。 WPF 是一个庞大而复杂的技术,要理解其底层原理,必须深入浅出地阅读源代码。CSDN 上有一篇与此相关的文章,名为《WPF深入浅出源码》。 这篇文章详细介绍了 WPF 的设计思路、架构、基本元素和核心代码实现。它以一个简单的例子从 UI 元素如何呈现开始,逐步深入探讨了视觉树、逻辑树、布局系统、绘图引擎以及与硬件的交互等方面。文章还提到了一些 WPF 开发中常见的问题和技巧,例如内存泄漏、多线程等。 读完这篇文章,你将深入了解 WPF 在实现高性能、灵活的 UI 渲染方面所做的工作,以及它与其他 Windows 技术的关系,对提升 WPF 开发技能将大有裨益。 总之,在学习 WPF 开发时,深度阅读源代码是非常必要的。《WPF深入浅出源码》是一篇值得一读的好文章,可以帮助你更好地掌握 WPF 的核心技术。 ### 回答3: 《WPF深入浅出源码》是一本关于Windows Presentation Foundation(WPF)的源码分析的书籍,作者介绍了WPF的核心概念与基础知识,并结合实例讲解WPF控件的使用方法。这本书提供了一种深入探究WPF内部实现的方式,让读者能够更好地理解WPF的本质,并学习如何设计开发高效的WPF应用程序。 本书共分为19章,对WPF的功能、数据绑定、命令、动画、触摸、布局、样式、模板等方面进行了详细讲解,同时提供了大量实例和源码分析,让读者通过实际操作深入理解WPF的使用方法和内部原理。 在本书中,作者详细介绍了WPF的元素树和布局系统,并深入剖析了WPF控件的内部实现和渲染过程。此外,本书还介绍了WPF的样式、模板和控件模板,并详细讲解了自定义控件的开发方法。 总之,本书详细介绍了WPF的各个方面,并提供了大量实例和源码分析,对WPF的掌握提供了良好的指导。如果你想深入学习WPF,并想要更好地理解其内部原理,那么这本书一定是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星火燎猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值