标签:
首先创建一个依赖项属性
首先是定义表示属性的对象,一个依赖项属性的对象必然是DependencyProperty的实例
这个实例必须始终保持可用,所以这里定义为静态字段
|
根据约定,依赖项属性的字段名称使用Property结尾,上面例子使用的是NameProperty
|
依赖项属性实例的创建工作必须在使用之前完成,所以要么在定义的时候即完成实例化工作,要么在静态构造函数中完成这项工作 |
DependencyProperty没有公有的构造函数,必须使用DependencyProperty的Register函数来创建实例
|
依赖项属性实例创建出来之后,不允许修改,所以上面例子中NameProperty是只读的
|
最后一部是使用传统的.NET属性来封装WPF依赖项属性
|
不应该在.NET属性包装的时候添加验证属性值的代码、引发事件的代码
|
|
|
节约内存
|
winform中的90%的控件属性都存在默认值,为每个属性存储一个字段将是对内存的巨大浪费,依赖项属性系统仅存储改变过的值,对于默认值来说仅仅存储一次
|
值继承
|
当访问一个依赖属性的值时。如果当前没有值,则依赖属性会遍历整个逻辑树直至它找到一个值。
|
标签:
原文地址:http://www.cnblogs.com/liulun/p/4227638.html