Windows Presentation Foundation (WPF) 提供了一组服务,这些服务可用于扩展公共语言运行时 (CLR) 属性的功能,这些服务通常统称为 WPF 属性系统。由 WPF 属性系统支持的属性称为依赖项属性。
上面是官方对依赖项属性的说辞。比较晦涩抽象。再来看看MSDN上给出的定义:
Represents a property that can be set through methods such as, styling, data binding, animation, and inheritance.表示可以通过方法设置的属性,样式,数据绑定、动画和继承。
简单了许多,但还是不够直白。我们来给依赖属性一个大白话的描述:也就是说它是一个可以通过多种方式进行设置且能进行改变是进行通知的属性。
微软引入依赖属性的初衷是什么呢?
我们先看看普通的属性和依赖属性的区别:
普通属性:
1 private string sampleProperty; 2 public string SampleProperty 3 { 4 get 5 { 6 return sampleProperty; 7 } 8 set 9 { 10 if (value != null) 11 { 12 sampleProperty = value; 13 } 14 else 15 { 16 sampleProperty = "Knights Warrior!"; 17 } 18 } 19 }