今天我们来看看 WPF 的 基础: Dependency Property System 。在 WPF 中,所有的属性 ( 可以在 XAML 进行设置的属性 ) 都依赖于此功能,所以说他是 WPF 的基础我想并不为过吧。 . 在 WPF 中, Dependency Property System 为我们提供了一个访问 XAML 中设置的属性的入口,通过他我们可以为属性设置默认的值,设置属性的表达式、值的范围等,还可以通过他获得属性 改变的事件。
Dependency Property System 在框架中表现为 DependencyProperty 类。
所有可以在 XAML 中使用的属性都必须用 DependencyProperty 类中的 Register 方法进行注册 ( 在以后我们开发自定义控件的时候将会频繁的使用到它 ) 。
如果我们想在自定义的控件中使用自定义的类型需要完成以下 2 步: ( 此段内容翻译自 Win SDK)
1 . 使用 Register 方法来注册自定义类型。方法将返回一个 DependencyProperty 对象,用于接收此返回值的变量必须是
静态只读 (static readonly) 的 , 且变量的名字必须已 Property 结尾 , 而他的访问域应该是 public.
例如:在自定义 Class1 中你要注册一个自定义类型: Test
Register 的另外一个重载将接受一个 PropertyMetadata 类型的参数,用于实现对属性值进行限制,接收事件更改通知等功能。
2 . 为程序提供访问的入口。所谓的入口就是我们一般的属性。例: