WPF依赖属性解析.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WPF依赖属性解析

一. 摘要   前几篇我们讲了WPF的一些基本知识,但是始终没有接触最核心的概念,那么从这篇文章开始的下面几篇文章中,我们会分别深入讨论一下依赖属性、路由事件、命令和绑定等相关概念,希望这几篇文章对大家能有所帮助。由于自己才疏学浅且是对这些技术的使用总结和心得体会,错误之处在所难免,怀着技术交流的心态,在这里发表出来,所以也希望大家能够多多指点,这样在使一部分人受益的同时也能纠正我的错误观点,以便和各位共同提高。   这篇文章比较多,在开篇之前我们会先介绍比本篇更重要的一些东西,然后插播一段“云计算之旅”的广告( 这里广告费比较贵哟!),作为最近几个月执着研究的东西,终于可以和大家见面了,希望自己能从实践中深入浅出的讲明白。在前面的两个内容之后我们正式进入本篇的主题——依赖属性。依赖属性是WPF的核心概念,所以我们花费了大量的时间和篇幅进行论述,首先从依赖属性基本介绍讲起,然后过渡到依赖属性的优先级、附加属性、只读依赖属性、依赖属性元数据、依赖属性回调、验证及强制值、依赖属性监听、代码段(自动生成) 等相关知识,最后我们会模拟一个WPF依赖属性的实现,来看看它里面的内部究竟是怎样处理的,这样就可以帮助我们更好的认清它的本质,出现问题的时候我们也可以根据原理快速找到原因了。 二. 本文提纲 · 1.摘要 · 2.本文提纲 · 3.比这篇文章更重要的东西 · 4.云计算广告插播 · 5.依赖属性基本介绍 · 6.依赖属性的优先级 · 7.依赖属性的继承 · 8.只读依赖属性 · 9.附加属性 · 10.清除本地值 · 11.依赖属性元数据 · 12.依赖属性回调、验证及强制值 · 13.依赖属性监听 · 14.代码段(自动生成) · 15.模拟依赖属性实现 · 16.本文总结 · 17.相关代码下载 · 18.系列进度 三. 比这篇文章更重要的东西   在讲这篇文章之前,我们先来聊一点更重要的东西,正所谓“授人与鱼不如授人以渔”,那么我们这个“渔”究竟是什么呢?大家做软件也有不少年了,对自己擅长的一门或多门技术都有自己的经验和心得,但总的来说可以分为向内和向外以及扩展三个方面(这里只针对.NET平台): (一)向外:   会使用ASP.NET、WinForm、ASP.NET MVC、WPF、Silverlight、WF、WCF等技术,在用这些技术做项目的同时积累了较丰富的经验,那么大家就可以形成自己的一套开发知识库,知道这些技术怎么能快速搭建企业所需要的应用、知道这些技术在使用中会出现什么样的问题以及如何解决。那么在这个时候你就可能已经在团队中起到比较核心的作用,如果项目经理给你一个任务,你也可以很轻松且高效的胜任,同时在项目当中由于你也比较清楚业务逻辑,所以当机会来临的时候,你很快会成为团队的骨干,逐渐你就会带几个初级一点的工程师一起做项目;如果你不喜欢带团队,你就会成为资深的高级开发或者架构师。那么在向外方面我个人认为最重要的是积累经验,对常见的应用要比较熟悉且有自己总结的一套开发库——比如对普通的网站、电子商务系统、ERP、OA、客户端应用等等有比较丰富的经验。 (二)向内:   在前面你使用了这些技术开发项目之后,你会遇到很多问题,为了解决这些问题,你会逐渐研究一些比较底层次的东西。比如对于ASP.NET,你会逐渐的去深入理解ASP.NET的整个处理过程、页面的生命周期、自定义控件的开发等等,由于自己最初是由C、C++、Java这样过渡到.NET的,所以对一些细节总喜欢钻牛角尖,这也浪费了不少时间,但同时也得到了很多意外之喜。 对于C#语言上,你也会逐渐去刨根问底,想看看这些语法糖背后到底隐藏着什么秘密,很多对.NET技术比较痴迷的人都会选择对C# 1.0 语言通过IL代码来深层次认识,然后对C#2.0、C#3.0、C#4.0都编译为C# 1.0 来学习,这样他们就能认识到语言的内部到底是怎么执行的,正所谓知道的同时也知道其所以然。 对于WF,你不仅要知道各 Activity的使用,你也得知道其内部的原理,比如WF 内部就是依靠依赖属性来在工作流中的各 Activity 间传递属性值的,如果你细心,你还原WF的依赖属性源码,你会发现它和WPF、Silverlight中的依赖属性大同小异,原理基本一样、只是针对特定技术进行了适当的调整。 对于数据底层操作也一样,不管你是用的拼接SQL、存储过程、IBATIS.NET、Nhibernate,Active Record,Linq to sql、Entity framework还是自己开发的ORM组件,你得明白它内部的原理,你要知道这些开源的代码还是很值得研究的,我的经验是先熟练使用这些功能,然后再剖析它的源码,然后自己写一套自己的框架,现在我

文档评论(0)

4477704 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档