自定义控件开发:从绑定到视觉状态的全面解析
1. TemplateBinding与RelativeSource Binding to TemplatedParent的比较
在控制模板中,有两种绑定方式值得关注: TemplateBinding 和 RelativeSource Binding to TemplatedParent 。 TemplateBinding 允许将元素的属性值绑定到模板父级的另一个属性。而 RelativeSource Binding to TemplatedParent 通过将 RelativeSource 属性设置为 RelativeSource.TemplatedParent ,也能达到类似的效果。
以下是两种绑定方式的示例:
PropertyFoo="{TemplateBinding SomeParentProperty}"
PropertyFoo="{Binding SomeParentProperty, RelativeSource={RelativeSource TemplatedParent}}"
使用基于常规 Binding 的后一种语法有显著优势,因为可以利用所有常规 Binding 的优点,如值转换(当源值和目标值不兼容时)和绑定方向设置来控制数据流向。一般建议尽可能使用将 RelativeS
超级会员免费看
订阅专栏 解锁全文
4万+

被折叠的 条评论
为什么被折叠?



