Donnerstag, 16. Mai 2013

TemplateBinding oder TemplatedParent

Nicht immer funktioniert die Markup-Extension TemplateBinding. Dafür gibt es verschiedene Gründe. Zum Beispiel beim Verwenden von Triggern kann es zu Problemen beim Binding kommen.

TemplateBinding ist eine vereinfache Form des Bindings und für ControlTemplates benutzt. Sollte TemplateBinding mal nicht funktionieren, so kann man auch einfach auf die RelativeSource TemplatedParent zugreifen. Dies sollte aber wirklich nur gemacht werden, wenn das TemplateBinding nicht funktioniert, weil dieses speziell zum Binden bei ControlTemplates optimiert wurde.

  Text="{TemplateBinding Title}"  
  Text="{Binding Title, RelativeSource={RelativeSource TemplatedParent}}"