1、什么是依赖属性?
在WPF应用程序中,依赖属性是扩展CLR属性的特定类型的属性
定义依赖属性的类必须从DependencyObject类继承。许多在XAML中使用的UI控件类派生自DependencyObject类,并且它们支持依赖属性,例如Button类支持IsMouseOver依赖属性
依赖属性就是自己本身没有值,通过binding从数据源获得值,就是依赖在别人身上,拥有依赖属性的对象称为依赖对象。
2、依赖属性的用途和用处?
1. 希望可在样式中设置属性。 2. 希望属性支持数据绑定。 3. 希望可使用动态资源引用设置属性。 4. 希望从元素树中的父元素自动继承属性值。 5. 希望属性可进行动画处理。 6. 希望属性系统在属性系统、环境或用户执行的操作或者读取并使用样式更改了属性以前的值时报告。 7. 希望使用已建立的、wpf 进程也使用的元数据约定,例如报告更改属性值时是否要求布局系统重新编写元素的可视化对象。 依赖对象创建时并不包含存储数据空间。wpf中必须使用依赖对象作为依赖属性的宿主。
3、依赖属性和基础属性有什么区别?
-
CLR属性可以通过使用getter和setter从类的私有成员直接读取/写入。相反,依赖属性不存储在本地对象中。
-
依赖属性存储在由DependencyObject类提供的键/值对的字典中。它还节省了大量内存,因为它在更改时存储该属性。它也可以绑定在XAML中。
4、附加属性和依赖属性的区别
附加属性:说白了就是依赖属性的改造,只是封装不