Difference between TemplateBinding and Binding: templatebinding
Definition
TemplateBinding is a data binding version optimized for a specific scenario. You need to bind a Property in the ControlTemplate to the corresponding Property of the control that applies the ControlTemplate.
Usage
<Object property = "{TemplateBinding targetProperty }"... /> use the Setter attribute in a template or style: <Setter Property = "propertyName" Value = "{TemplateBinding targetProperty }"... />
Differences
1.Binding is more flexible and powerful than TemplateBinding, but the overhead is also greater. TemplateBinding has restrictions in use cases, but it is more efficient. Template is very similar to the Binding constructed by {Binding RelativeSource = {RelativeSource TemplatedParent.
2.TemplateBinding also allows us to define Converter and ConverterParameter, which enhances the functions and scope of TemplateBinding.
3.The most important difference: TemplateBinding only supports one-way data binding, from the Template control to the Template (from templated control to template ). If we need reverse or bidirectional Binding, the only choice is to apply Binding and RelativeSource.