WPF基础之依赖属性
依赖属性与附加属性
-
CLR属性
类的方法在内存中只有一个拷贝,无论是否为静态方法,所以CLR属性保证了安全性,又不会增加内存的负担。
-
依赖属性
依赖属性自己没有值,通过Binding从数据源获取值
-
依赖对象
拥有依赖属性的对象
下面手动实现一个依赖对象,并包含一个依赖属性
1 | public class Student:DependencyObject |
依赖属性的优势
- 依赖属性加入了属性变化通知、限制、验证等功能。这样可以使我们更方便地实现应用,同时大大减少了代码量。许多之前需要写很多代码才能实现的功能,在WPF中可以轻松实现。
- 节约内存:在WinForm中,每个UI控件的属性都赋予了初始值,这样每个相同的控件在内存中都会保存一份初始值。而WPF依赖属性很好地解决了这个问题,它内部实现使用哈希表存储机制,对多个相同控件的相同属性的值都只保存一份。