WPF 依赖属性 DependencyProperty
1.依赖属性介绍
在WPF中使用了更高级的依赖项属性替换了.net中的属性。依赖属性具有一些更高效的保存机制,同进支持附加功能,如 更改通知(Change Notification)以及属性值继承(在元素树中向下传递默认属性值)。依赖属性同样还是WPF中Animation,Binding,Style的重要基础。.
2.依赖属性定义注意:只能为依赖对象(继承自DependencyObject)添加依赖属性。WPF中基础结构的关键部分中大部分都间接继承自DependencyObject类。
例子:
WPF中最常见的属性之一就是Margin属性。它在FramewordElement类中被定义,所有元素都共享自该属性。下面是FrameworkElement类的源函数
public MainWindow() { InitializeComponent(); test a = new test(); a.MyProperty = 10; }运行结果顺序如下:.
可以看到有两次的ValidateValue,应该是new test()时就调用了一次ValidateValue,然后当属性值发生改变时又调用了一次ValidateValue。符合6小节中提到的调用顺序。