何时应使用模板绑定
本文关键字:绑定 何时应 | 更新日期: 2023-09-27 17:55:54
我读了这个关于模板绑定的帖子:什么是模板绑定与绑定?我想知道数据模板绑定到的对象是否是 Template 类,我应该使用模板绑定吗?
而且我目前正在使用经典绑定,如何切换到使用"模板绑定"?只需将"绑定"替换为"模板绑定"
我的模板类是这样的:
公共类 MyTemplateClass{
}
我为要绑定到的数据模板创建了一个实例。
TemplateBinding 与 ControlTemplate 有关,简而言之,它是一种从模板用户将属性注入模板的方法。
{TemplateBinding X} 只是编写 {Binding X, RelativeSource={RelativeSource TemplatedParent}} 的快捷方式。
它们的计算结果相同,尽管 TemplateBinding 是在编译时计算的,而 RelativeSource TemplatedParent 是在运行时计算的。
因为它是在编译时计算的,所以 TemplateBinding 的评估速度要快一些,但如果它认为绑定属性不存在,它会抛出错误。如果您知道该属性存在,但编译器不知道它,则可以使用 RelativeSource TemplatedParent,因为它是在运行时而不是编译时计算的。
总而言之,请使用模板绑定,除非它给你一个错误,并且你知道该属性存在。然后使用相对源模板化父