欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WPF TemplateBinding与Binding区别

程序员文章站 2022-06-07 13:39:14
...

TemplateBinding与Binding区别

(1)TemplateBinding只是单方向的数据绑定,即数据源到目标的方向
(2)TemplateBinding不会自动转换数据类型,当数据源的类型和目标的类型不一致时,TemplateBinding需要自己写转换器来完成。

下面两个绑定效果是一样的

<TextBlock Text="{TemplateBinding MyText}"/>
<TextBlock Text="{Binding Path=MyText, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"/> 
  • Binding比TemplateBinding更加灵活强大,但是开销也更大。TemplateBinding在使用场景有限制,但是效率较高。Template非常类似{Binding RelativeSource={RelativeSource TemplatedParent}}构造的Binding。
  • TemplateBinding同样允许我们定义Converter和ConverterParameter,在一定程度上加强了TemplateBinding的应用功能和范围.
  • 最重要的区别:TemplateBinding仅仅支持单向的数据绑定,从应用Template的控件到Template(from templated control to template)。如果我们需要反向或者双向的绑定,唯一的选择就是应用Binding和RelativeSource。
相关标签: WPF wpf