我对TemplateBinding和TemplatedParent感到困惑。我也通过这个链接
WPF TemplateBinding vs RelativeSource TemplatedParent

但是我的疑问是何时使用TemplateBinding和TemplatedParent?

提前致谢。

最佳答案

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

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

由于TemplateBinding是在编译时评估的,因此评估起来会更快一些,但是如果认为不存在bound属性,它将引发错误。如果您知道该属性存在,但是编译器不知道该属性,则可以使用RelativeSource TemplatedParent,因为它是在运行时而不是编译时求值的。

总而言之,请使用TemplateBinding,除非它给您一个错误并且您知道该属性存在。然后使用RelativeSource TemplatedParent
accepted answer to the question you linked包含有关两者之间差异的相当不错的摘要

关于wpf - 何时在WPF中使用TemplateBinding和TemplatedParent,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9157972/

10-12 14:53