Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Extensión de marcado TemplateBinding

Vincula el valor de una propiedad de una plantilla de control para que sea el valor de otra propiedad del control con plantilla.

<object property="{TemplateBinding sourceProperty}" .../>

<Setter Property="propertyName" Value="{TemplateBinding sourceProperty}" .../>

propertyName

Propiedad DependencyProperty.Name que se va establecer en la sintaxis del establecedor.

sourceProperty

Otra propiedad de dependencia existente en el tipo con plantilla, especificada por el valor de DependencyProperty.Name.

– O bien –

Nombre de propiedad "relacionada" que se define por un tipo diferente del tipo de destino que se va a convertir en un tipo con plantilla. En realidad, se trata de un objeto PropertyPath. Vea Sintaxis de PropertyPath de XAML.

TemplateBinding es una forma optimizada de enlace para los escenarios de plantilla, similar a la instrucción Binding construida con {Binding RelativeSource={RelativeSource TemplatedParent}}. TemplateBinding siempre es un enlace unidireccional, aunque las propiedades implicadas establezcan por defecto un enlace bidireccional. Ambas propiedades implicadas deben ser propiedades de dependencia.

RelativeSource es otra extensión de marcado que se utiliza a veces en combinación con TemplateBinding o en su lugar para realizar enlaces de propiedades relativos dentro de una plantilla.

La descripción del concepto de las plantillas de control no se incluye aquí; para obtener más información vea Estilos y plantillas de controles.

La sintaxis de atributo es la que se usa normalmente con esta extensión de marcado. El token de cadena que se proporciona después de la cadena de identificador TemplateBinding se asigna como valor de Property de la clase de extensión TemplateBindingExtension subyacente.

La sintaxis de elementos de objeto es posible, pero no se muestra porque no tiene ninguna aplicación en el mundo real. TemplateBinding se emplea para rellenar los valores dentro de los establecedores, mediante expresiones evaluadas, y el uso de la sintaxis de elementos de objeto para que TemplateBinding rellene la sintaxis de elementos de propiedad de <Setter.Property> aplica un grado de detalle innecesario.

TemplateBinding también se puede utilizar en el uso de atributos detallado que especifica la propiedad Property como un par de propiedad=valor:

<object property="{TemplateBinding Property=sourceProperty}" .../>

El uso detallado suele ser útil para las extensiones que tienen más de una propiedad que se puede configurar, o en aquellos casos en que algunas propiedades son opcionales. Dado que TemplateBinding tiene una sola propiedad configurable, que es obligatoria, este uso detallado no es habitual.

La clase TemplateBindingExtension define el control para esta extensión de marcado en la implementación del procesador XAML de WPF.

TemplateBinding es una extensión de marcado. Las extensiones de marcado se suelen implementar cuando se necesita que los valores de los atributos de escape no sean valores literales o nombres de controladores, y este requisito es de índole más global que limitarse a colocar los convertidores de tipos en determinados tipos o propiedades. Todas las extensiones de marcado de XAML utilizan los caracteres { y } en su sintaxis de atributo, que es la convención que permite que un procesador de XAML reconozca que el atributo se debe procesar mediante una extensión de marcado. Para obtener más información, vea Extensiones de marcado y XAML de WPF.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft