
Silverlight/WPF关键技术剖析
文章平均质量分 69
本专栏主要介绍Silverlight/WPF开发的关键性技术,采用模拟实现方式深入解剖其本质:依赖属性,附加属性,Action,Trigger等.
广州接入
毕业于北京交通大学计算机系,一直从事企业应用开发,有十多年的SaaS平台产品研发经验。擅长系统架构,需求分析。
展开
-
WPF的原理与MVVM模式的思考
对于一般程序语言,执行分为3种:1)编译成二进制机器代码,由操作系统调用执行;典型的如C,C++,Delphi等.2)编译成中间语言,由虚拟机解释来执行或及时编译后执行(前者的典型是java,后者的典型是DotNet).3)不进行编译,有解释器边解释边执行,比较典型的原创 2011-09-17 09:02:51 · 9447 阅读 · 0 评论 -
WPF架构关键技术剖析(1)--序言
技术的发展其实都是有迹可寻的.无论多高超,多神秘的技术都是在实践->经验->理论->再实践->...的过程中发展起来的。今天之所以写这个系列的文章,不是为了炫耀我有多牛,当然更不是为了装B,“天外有天,人外有人”的自知自明我还是有的。我的目的其实很简单: 1)对我原创 2011-09-18 11:01:34 · 4452 阅读 · 0 评论 -
WPF架构关键技术剖析(2)--XAML、对象序列化、类动态实例化
我们知道对于界面元素的描述,WPF的XAML不是第一个,HTML就要早很多,delphi的dfm也是一种。界面描述和界面交互逻辑的分离是有很多好处的,比如有利于可视化设计,有利于界面复用等。微软总是想一统天下,WPF的出现也是这种理想。当然,这种理想的出现也是有实际需求支持的。对原创 2011-09-18 22:39:07 · 5811 阅读 · 0 评论 -
WPF架构关键技术剖析(3)--做自己的交互Action(1)
本来打算写得细些,但最近要换工作,所以比较忙点,而且也觉得没必要写那么多虚的东西,因此这里不再按照提纲进行,而是从代码入手,看清Silverlight的交互机制.依赖属性和附加属性的基本类都是一样的,但依赖属性和附加属性的用途还是有区别的,依赖属性更多的是属性,而附加属性更多的是原创 2011-09-21 23:01:22 · 6448 阅读 · 0 评论 -
WPF架构关键技术剖析(3)--做自己的交互Action(2)
下面我们利用附加属性,将我们准备好的Action集合能作为附加属性出现在xaml中:1)附加属性类:/// /// 附加属性定义类,注意必须是静态的,这有点类似于给类增加扩展方法。 /// public static class WPFT原创 2011-09-21 23:17:15 · 3407 阅读 · 0 评论 -
WPF架构关键技术剖析(3)--做自己的交互Action(3)
1)测试数据准备://这是我学习treeview绑定时用的,也随带给不是很会用treeview绑定的网友们一个例子.A)层级类,树形结构.public class Folder { public ObservableCollection C原创 2011-09-21 23:27:57 · 3925 阅读 · 0 评论 -
WPF架构关键技术剖析(4)--总结
结合这个系列博文,加上我前面的对依赖属性模拟的博文,如果大家仔细看过,应该收获很大,可以讲Silverlight的页面交互机制应该是非常的清楚了,而这篇博文的Action实现,其实就是一个简易的交互框架。Silverlight本身提供的Triggers,Behaviors也是这个原创 2011-09-21 23:36:12 · 3663 阅读 · 0 评论 -
WPF依赖属性,绑定通知机制系列补充说明
依赖对象准备增加了属性元数据类型的定义,开始忘记贴了。以上代码都经过了测试,模拟是成功的。其实微软在页面中的绑定语法最终都会如模拟中那样实现。微软的做法是导入xaml文件的时候根据文件中的控件语法动态的生成控件实例,其绑定语法也是在这个过程中自动添加进出的,只不过需要一个简单的路原创 2011-08-28 09:31:03 · 5156 阅读 · 0 评论 -
模拟实现WPF的依赖属性及绑定通知机制(4)--模拟实现绑定连动机制
1、一个依赖对象示例: public class MyDendencyControl : MyDependencyObject { public static readonly MyDependencyProperty ContentDepende原创 2011-08-28 09:20:08 · 3878 阅读 · 0 评论 -
WPF属性绑定测试(索引器方式)
小结: 如果属性绑定路径上的任何可通知变化属性发生改变,其路径及以下路径都视为发生了变化,不管是否是可通知变化属性,都会重新绑定新值。看来微软对于绑定的机制是下了功夫的,如果采用简单的反射,路径寻找的方式,如果页面元素比较多,层次比较多,效率肯定有问题的,看来有时间得反编译原创 2011-09-02 21:39:36 · 5256 阅读 · 0 评论 -
模拟实现WPF的依赖属性及绑定通知机制(3)--依赖对象
下面是依赖对像类的实现:(注,这里涉及到INotifyPropertyChanged接口,大家可以参考MSDN文档了解). /// /// 依赖对像,主要提供属性值和属性绑定的管理。 /// public class MyDependency原创 2011-08-28 09:07:45 · 4947 阅读 · 0 评论 -
模拟实现WPF的依赖属性及绑定通知机制(2)--依赖对象的准备
依赖对象一个主要的功能就是提供对依赖属性属性值的管理,所有需要具有依赖属性的类都可以从这里继承,而无需自己去管理依赖属性值。依赖对象的主要方法就是SetValue和GetValue两个方法,这也是依赖属性和普通属性获取值不一样的地方,当然实际的应用中依赖属性一般不会直接使用这两个原创 2011-08-28 09:04:46 · 4973 阅读 · 0 评论 -
模拟实现WPF的依赖属性及绑定通知机制(1)--依赖属性
依赖属性的好处大家可以参见前面我转载的博文。我们知道,WPF中控件的属性非常多,但这些属性中大部分你在编程过程中是不会改变设置的,而是直接利用其默认值(所以以后设计属性时,默认值的选择也非常关键,这有利于减少存储),如果采用原来的属性方式,每个类的实例都会有自己的一份属性值集合,原创 2011-08-28 08:47:46 · 4894 阅读 · 0 评论