#575 – PropertyMetadata 和其子类的区别(PropertyMetadata vs. FrameworkPropertyMetadata)

当你要实现一个自定义的依赖属性的时候,要调用DependencyProperty.Register函数注册属性,你要指定一个PropertyMetadata 类型的元数据。元数据应该是PropertyMetadata 类或者其子类的实例。他们之间的区别如下:

PropertyMetadata ——依赖属性的基本元数据

 - CoerceValueCallback ——当设置属性值的时候强制转换属性值

 - DefaultValue ——属性的默认值

 - PropertyChangedCallback ——当属性的有效的属性值发生改变时的响应。

UIPropertyMetadata ——继承自PropertyMetadata 并增加了:

 - IsAnimationProhibited ——是否在属性上禁用动画

FrameworkPropertyMetadata ——继承自UIPropertyMetadata 并增加了:

 - AffectsArrange, AffectsMeasure, AffectsParentArrange, AffectsParentMeasure, AffectsRender ——属性值改变后是否重新运行布局计算

 - BindsTwoWayByDefault, DefaultUpdateSourceTrigger, IsDataBindingAllowed, IsNotDataBindable ——确定属性如何参与数据绑定

 - Inherits, OverridesInheritanceBehavior ——是否允许属性值被继承

 - Journal ——在日志中存储改属性值

 - SubPropertiesDoNotAffectRender ——子属性是否影响渲染显示

原文地址:https://wpf.2000things.com/2012/06/07/575-propertymetadata-vs-frameworkpropertymetadata/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值