WPF的Dependency Property System——出自《IT168》
2010-12-07 15:56
260 查看
今天我们来看看
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
.
为程序提供访问的入口。所谓的入口就是我们一般的属性。例:
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
public static readonly DenpendencyProperty TestProperty = DenpendencyProperty.Register(“Test”, typeof(Test),typeof(Class1));
Register
的另外一个重载将接受一个
PropertyMetadata
类型的参数,用于实现对属性值进行限制,接收事件更改通知等功能。
2
.
为程序提供访问的入口。所谓的入口就是我们一般的属性。例:
public Test SampleTest { get { return this.GetValue(TestProperty); } set { this.SetValue(TestProperty, value); } }
相关文章推荐
- WPF 依赖属性,用户控件依赖属性(DependencyProperty 依赖属性、GetValue() SetValue() CLR属性包装器、SetBinding 数据绑定)
- 依赖属性 dependency property WPF,为什么要用DDP?
- WPF里的DependencyProperty(3)
- WPF中的Style——出自《IT168》
- 浅谈WPF中对控件的位图特效——出自《IT168》
- 一站式WPF--依赖属性(DependencyProperty)
- WPF DependencyProperty
- WPF里的DependencyProperty(4)
- WPF Unleashed Chapter 3:Important New Concepts in WPF ---Dependency Properties(Property Value Inheritance)
- WPF里的DependencyProperty(5)
- WPF中的命令简述——出自《IT168》
- WPF中控件与控件值的绑定——出自《IT168》
- (转)WPF Custom Control Dependency Property Gotcha
- WPF Dependency property ,overrideMetaData issue
- WPF里的DependencyProperty(5)
- WPF中的Dependency Property(3)
- WPF中,如何使用图像API进行绘制而不是XAML?——出自《IT168》
- WPF property system
- WPF里的DependencyProperty(5)
- Silverlight&WPF依赖属性DependencyProperty讲解