何时应使用模板绑定

本文关键字:绑定 何时应 | 更新日期: 2023-09-27 17:55:54

我读了这个关于模板绑定的帖子:什么是模板绑定与绑定?我想知道数据模板绑定到的对象是否是 Template 类,我应该使用模板绑定吗?

而且我目前正在使用经典绑定,如何切换到使用"模板绑定"?只需将"绑定"替换为"模板绑定"

我的模板类是这样的:

公共类 MyTemplateClass{

}

我为要绑定到的数据模板创建了一个实例。

何时应使用模板绑定

TemplateBinding 与 ControlTemplate 有关,简而言之,它是一种从模板用户将属性注入模板的方法。

{TemplateBinding X} 只是编写 {Binding X, RelativeSource={RelativeSource TemplatedParent}} 的快捷方式。

它们的计算结果相同,尽管 TemplateBinding 是在编译时计算的,而 RelativeSource TemplatedParent 是在运行时计算的。

因为它是在编译时计算的,所以 TemplateBinding 的评估速度要快一些,但如果它认为绑定属性不存在,它会抛出错误。如果您知道该属性存在,但编译器不知道它,则可以使用 RelativeSource TemplatedParent,因为它是在运行时而不是编译时计算的。

总而言之,请使用模板绑定,除非它给你一个错误,并且你知道该属性存在。然后使用相对源模板化父