Когда использовать TemplateBinding и TemplatedParent в WPF


У меня есть путаница по поводу TemplateBinding и TemplatedParent. Я также прошел через эту ссылку WPF TemplateBinding vs RelativeSource TemplatedParent

Но я сомневаюсь, когда использовать TemplateBinding и TemplatedParent?

Заранее благодарю.

1 6

1 ответ:

{TemplateBinding X} это просто короткий способ написания {Binding X, RelativeSource={RelativeSource TemplatedParent}}.

Они оценивают то же самое, хотя TemplateBinding оценивается во время компиляции, а RelativeSource TemplatedParent оценивается во время выполнения.

Поскольку он вычисляется во время компиляции, TemplateBinding немного быстрее вычисляется, однако он будет выдавать ошибки, если он не думает, что связанное свойство существует. Если вы знаете, что свойство существует, но компилятор не знает об этом, то вы используете RelativeSource TemplatedParent, так как оно вычисляется во время выполнения, а не во время компиляции.

Чтобы подвести итог, используйте TemplateBinding, если это не дает вам ошибку, и вы знаете, что свойство существует. Затем используйте RelativeSource TemplatedParent

Принятый ответ на вопрос, который вы связали , содержит довольно хорошее резюме различий между этими двумя