2012-02-06 26 views

Respuesta

16

{TemplateBinding X} es simplemente una forma abreviada de escribir el {Binding X, RelativeSource={RelativeSource TemplatedParent}}.

Evalúan lo mismo, aunque TemplateBinding se evalúa en tiempo de compilación mientras se evalúa RelativeSource TemplatedParent en tiempo de ejecución.

Dado que se evalúa en tiempo de compilación, TemplateBinding es un poco más rápido de evaluar, pero arrojará errores si no cree que existe la propiedad enlazada. Si sabe que la propiedad existe pero el compilador no la conoce, entonces usa RelativeSource TemplatedParent ya que se evalúa en tiempo de ejecución en lugar de en tiempo de compilación.

En resumen, use TemplateBinding a menos que le proporcione un error y sepa que la propiedad existe. A continuación, utilice RelativeSource TemplatedParent

El accepted answer to the question you linked contiene un resumen bastante bueno en las diferencias entre los dos

+0

'' TemplateBinding' es OneWay' y '' TemplatedParent' es TwoWay'. –

Cuestiones relacionadas