Extensões de Marcação XAML

As extensões de marcação XAML ajudam a estender o poder e a flexibilidade do XAML, permitindo que os atributos de elemento sejam definidos de fontes diferentes de cadeias de caracteres de texto literais.

Por exemplo, normalmente você define a Color propriedade de BoxView assim:

<BoxView Color="Blue" />

Ou você pode configurá-lo para um valor de cor RGB hexadecimal:

<BoxView Color="#FF0080" />

Em ambos os casos, a cadeia de caracteres de texto definida para o Color atributo é convertida em um Color valor pela ColorTypeConverter classe.

Em vez disso, você pode preferir definir o Color atributo de um valor armazenado em um dicionário de recursos ou do valor de uma propriedade estática de uma classe que você criou, ou de uma propriedade do tipo Color de outro elemento na página ou construído a partir de valores separados de matiz, saturação e luminosidade.

Todas essas opções são possíveis usando extensões de marcação XAML. Mas não deixe que a frase "extensões de marcação" o assuste: as extensões de marcação XAML não são extensões para XML. Mesmo com extensões de marcação XAML, o XAML é sempre XML legal.

Uma extensão de marcação é realmente apenas uma maneira diferente de expressar um atributo de um elemento. As extensões de marcação XAML geralmente são identificáveis por uma configuração de atributo entre chaves:

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

Qualquer configuração de atributo em chaves é sempre uma extensão de marcação XAML. No entanto, como você verá, as extensões de marcação XAML também podem ser referenciadas sem o uso de chaves.

Este artigo está dividido em duas partes:

Consumo de extensões de marcação XAML

Use as extensões de marcação XAML definidas no Xamarin.Forms.

Criação de extensões de marcação XAML

Escreva suas próprias extensões de marcação XAML personalizadas.