TemplateBinding和Binding的区别_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > TemplateBinding和Binding的区别

TemplateBinding和Binding的区别

 2017/8/24 10:08:48  下路派出所  程序员俱乐部  我要评论(0)
  • 摘要:定义TemplateBinding是为了某个特定场景优化出来的数据绑定版本--需要把ControlTemplate里面的某个Property绑定到应用该ControlTemplate的控件的对应Property上。用法<objectproperty="{TemplateBindingtargetProperty}".../>在模板或样式中用Setter属性的用法:<SetterProperty="propertyName"Value="
  • 标签:区别

定义                                                

TemplateBinding是为了某个特定场景优化出来的数据绑定版本--需要把ControlTemplate里面的某个Property绑定到应用该ControlTemplate的控件的对应Property上。

用法                                                           

class="brush:csharp;gutter:true;"><object property="{TemplateBinding targetProperty}" .../>

在模板或样式中用Setter属性的用法:
<Setter Property="propertyName" Value="{TemplateBinding targetProperty}" .../>

  

区别                                                             

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

 

上一篇: [WPF]静态资源(StaticResource)和动态资源(DynamicResource) 下一篇: 没有下一篇了!
发表评论
用户名: 匿名