Extensiones de marcado XAML

Download SampleDescargar el ejemplo

Las extensiones de marcado XAML ayudan a extender las funciones avanzadas y la flexibilidad de XAML al permitir establecer atributos de elementos desde orígenes distintos de cadenas de texto literales.

Por ejemplo, normalmente se establece la propiedad Color de BoxView de la siguiente manera:

<BoxView Color="Blue" />

O bien, puede establecerla en un valor de color RGB hexadecimal:

<BoxView Color="#FF0080" />

En cualquier caso, la clase ColorTypeConverter convierte la cadena de texto establecida en el atributo Color en un valor Color.

Es posible que prefiera establecer el atributo Color a partir de un valor almacenado en un diccionario de recursos, o desde el valor de una propiedad estática de una clase que haya creado, o bien desde una propiedad de tipo Color de otro elemento de la página o construido a partir de valores de matiz, saturación y luminosidad independientes.

Todas estas opciones son posibles con extensiones de marcado XAML. No obstante, no se asuste con la frase "extensiones de marcado": las extensiones de marcado XAML no son extensiones de XML. Incluso con las extensiones de marcado XAML, XAML siempre es XML legal.

Una extensión de marcado es realmente una manera diferente de expresar un atributo de un elemento. Normalmente, las extensiones de marcado XAML se identifican mediante una configuración de atributo que se incluye entre llaves:

<BoxView Color="{StaticResource themeColor}" />

Cualquier configuración de atributo entre llaves es siempre una extensión de marcado XAML. Sin embargo, como verá, también se puede hacer referencia a las extensiones de marcado XAML sin el uso de llaves.

Este artículo se divide en dos partes:

Consumo de extensiones de marcado XAML

Uso de las extensiones de marcado XAML definidas en Xamarin.Forms.

Creación de extensiones de marcado XAML

Escritura de sus propias extensiones de marcado XAML personalizadas.