Когда использовать TemplateBinding и TemplatedParent в WPF
У меня есть путаница по поводу TemplateBinding и TemplatedParent. Я также прошел через эту ссылку WPF TemplateBinding vs RelativeSource TemplatedParent
Но я сомневаюсь, когда использовать TemplateBinding и TemplatedParent?
Заранее благодарю.
1 ответ:
{TemplateBinding X}это просто короткий способ написания{Binding X, RelativeSource={RelativeSource TemplatedParent}}.Они оценивают то же самое, хотя
TemplateBindingоценивается во время компиляции, аRelativeSource TemplatedParentоценивается во время выполнения.Поскольку он вычисляется во время компиляции,
TemplateBindingнемного быстрее вычисляется, однако он будет выдавать ошибки, если он не думает, что связанное свойство существует. Если вы знаете, что свойство существует, но компилятор не знает об этом, то вы используетеRelativeSource TemplatedParent, так как оно вычисляется во время выполнения, а не во время компиляции.Чтобы подвести итог, используйте
TemplateBinding, если это не дает вам ошибку, и вы знаете, что свойство существует. Затем используйтеRelativeSource TemplatedParentПринятый ответ на вопрос, который вы связали , содержит довольно хорошее резюме различий между этими двумя