谈谈WPF中的依赖属性
WPF中引入了一个非常重要的“新的类型”叫依赖属性,在WPF中我们会经常用到它,他是贯穿WPF中实现数据绑定、动画效果等特效的实现。依赖属性,是依靠多个数据或者程序来为它提供值的,这些数据可能随时会改变,依赖属性的值也会随之改变,或是从上级元素传递过来的值。依赖属性最大的特性就是为我们提供了变更通知的能力。
依赖属性给我们提供了那些特性呢?
1.变更通知
2.属性值继承
3.对多提供程序的支持
如何定义一个依赖属性呢?
public class TextBoxEx : TextBox
{
public static readonly DependencyProperty IsFocusProperty =
DependencyProperty.Register("IsFocus", //依赖属性的名称
typeof(bool), //依赖属性的类型
typeof(TextBoxEx), //依赖属性所有者的类型
new PropertyMetadata(false, new PropertyChangedCallback(OnIsFocusPropertyChanged)) //元数据(初始值false,数据发生变化的委托OnIsFocusPropertyChanged)
);
public bool IsFocus
{
get { return (bool)this.GetValue(IsFocusProperty); }
set { this.SetValue(IsFocusProperty, value); }
}
private static void OnIsFocusPropertyChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
{
//数据发生变化的实现
}
}
这就是一个依赖属性最简单的定义,我们不需要实现它的具体方法,就可以直接使用它的一系列特性。例如:在xaml中的数据绑定等
原创文章,转载请注明: 转载自.NET开发者
本文链接地址: 谈谈WPF中的依赖属性
Related posts: