Когда использовать 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
Принятый ответ на вопрос, который вы связали , содержит довольно хорошее резюме различий между этими двумя