Extensões de marcação do XAML

Baixar exemplo Baixar o exemplo

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

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

<BoxView Color="Blue" />

Ou você pode defini-lo como 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" assuste você: extensões de marcação XAML não são extensões para XML. Mesmo com extensões de marcação XAML, 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 que está 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 é dividido em duas partes:

Consumo de extensões de marcação do XAML

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

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

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