Condividi tramite


Estensioni di markup XAML

Le estensioni di markup XAML consentono di estendere la potenza e la flessibilità di XAML consentendo l'impostazione degli 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 alternativa, è possibile impostarlo su un valore di colore RGB esadecimale:

<BoxView Color="#FF0080" />

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

È invece preferibile impostare l'attributo Color 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 Color di un altro elemento nella pagina oppure costruito da valori di tonalità, saturazione e luminosità separati.

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

Un'estensione di markup è davvero 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 di attributo tra parentesi graffe è sempre un'estensione di markup XAML. Tuttavia, come si noterà, è 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.