WPF的TemplateBinding与RelativeSource TemplatedParent

21 浏览
0 Comments

WPF的TemplateBinding与RelativeSource TemplatedParent

这两个绑定有何区别

   
      
   

   
      
   

admin 更改状态以发布 2023年5月21日
0
0 Comments

TemplateBinding - 比普通的Binding功能限制更多

  • 比Binding更高效,但功能较少
  • 只能在ControlTemplate可视树内使用
  • 不能与Freezable的属性一起使用
  • 不能在ControlTemplate的触发器内使用
  • 为设置属性提供了快捷方式(不如verbose),例如:{TemplateBinding targetProperty}

普通的Binding - 没有TemplateBinding的限制

  • Respects Parent Properties
  • Resets Target Values以清除任何显式设置的值
  • 示例:
0
0 Comments

TemplateBinding并不完全相同。MSDN文档通常是由需要询问单音节SDE有关软件功能的人编写的,因此细微差别并不正确。

模板绑定是根据在控件模板中指定的类型在编译时进行评估的。这允许更快速地实例化编译的模板。只需在模板绑定中搞糊涂名称,您就会发现编译器会标记它。

绑定标记在运行时解析。虽然执行速度较慢,但绑定会解析在模板声明的类型上不可见的属性名称。就速度而言,我要指出,它有点相对的因为绑定操作很少占用应用程序的 CPU。如果您以高速播放控件模板,您可能会注意到它。

作为一种实践,当您可以使用TemplateBinding时请使用它,但请不要害怕Binding。

0