DP【PluralSight】
简单的DP注册:
注意:Wrapper里的get,set永远不要写任何逻辑或者.Net提供的方法
Text Wrapper只是一个helper,里面的get set永远不会被程序call到,breakpoint进不去。唯一可以进入set是直接对这个CLR property赋值。
DP register的时候可以指定PropertyMetadata或者FrameworkPropertyMetadata
PropertyMetadata:
- Specify default values
- coercion
- property change callbacks
- validation
从上面简单DP register变过来的,注意都写在一个new PropertyMetadata("Default values", CoerceValueCallBack,PropertyChangedCallBack )下.
FrameworkPropertyMetadata:
- Change default data binding mdoe(one way/ two way)
- AffectsMeasure
- AffectArrange
- AffectRender
如果要加上Binding mode的设置需要把new PropertyMetadata改成new FrameworkPropertyMetadata()