Estensioni di markup XAML

Scaricare l'esempio. Scaricare l'esempio

Le estensioni di markup XAML consentono di estendere la potenza e la flessibilità di XAML consentendo di impostare gli attributi degli elementi da origini diverse dalle stringhe di testo letterali.

Ad esempio, in genere si imposta la Color proprietà di BoxView come segue:

<BoxView Color="Blue" />

In caso contrario, è possibile impostarlo su un valore di colore RGB esadecimale:

<BoxView Color="#FF0080" />

In entrambi i casi, la stringa di testo impostata Color sull'attributo viene convertita in Color un valore dalla classe ColorTypeConverter .

È preferibile invece impostare l'attributo da un valore archiviato in un dizionario risorse o dal valore di una proprietà statica di una classe creata o da una proprietà di tipo di un altro elemento nella pagina o costruita da valori separati di Color Color tonalità, saturazione e luminosità.

Tutte queste opzioni sono possibili usando estensioni di markup XAML. Ma non lasciare che la frase "estensioni di markup" ti spaventi: le estensioni di markup XAML non sono estensioni a XML. Anche con le estensioni di markup XAML, XAML è sempre XML valido.

Un'estensione di markup è in realtà solo un modo diverso per esprimere un attributo di un elemento. Le estensioni di markup XAML sono in genere identificabili da un'impostazione di attributo racchiusa tra parentesi graffe:

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

Qualsiasi impostazione dell'attributo tra parentesi graffe è sempre un'estensione di markup XAML. Tuttavia, come si può vedere, è anche possibile fare riferimento alle estensioni di markup XAML senza l'uso di parentesi graffe.

Questo articolo è suddiviso in due parti:

Utilizzo di estensioni di markup XAML

Usare le estensioni di markup XAML definite in Xamarin.Forms .

Creazione di estensioni di markup XAML

Scrivere estensioni di markup XAML personalizzate.