Extensions de balisage XAML

Les extensions de balisage XAML permettent d’étendre la puissance et la flexibilité du code XAML en permettant aux attributs d’élément d’être définis à partir de sources autres que des chaînes de texte littérales.

Par exemple, normalement, vous définissez la Color propriété comme BoxView suit :

<BoxView Color="Blue" />

Vous pouvez également le définir sur une valeur de couleur RVB hexadécimale :

<BoxView Color="#FF0080" />

Dans les deux cas, la chaîne de texte définie sur l’attribut Color est convertie en Color valeur par la ColorTypeConverter classe.

Vous préférez peut-être définir l’attribut Color à partir d’une valeur stockée dans un dictionnaire de ressources, ou à partir de la valeur d’une propriété statique d’une classe que vous avez créée, ou à partir d’une propriété de type Color d’un autre élément de la page, ou construite à partir de valeurs de teinte, de saturation et de luminosité distinctes.

Toutes ces options sont possibles à l’aide d’extensions de balisage XAML. Mais ne laissez pas l’expression « extensions de balisage » vous effrayer : les extensions de balisage XAML ne sont pas des extensions au format XML. Même avec les extensions de balisage XAML, XAML est toujours xml légal.

Une extension de balisage est vraiment une autre façon d’exprimer un attribut d’un élément. Les extensions de balisage XAML sont généralement identifiables par un paramètre d’attribut placé entre accolades :

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

Tout paramètre d’attribut dans les accolades est toujours une extension de balisage XAML. Toutefois, comme vous le verrez, les extensions de balisage XAML peuvent également être référencées sans utiliser d’accolades.

Cet article est divisé en deux parties :

Consommation des extensions de balisage XAML

Utilisez les extensions de balisage XAML définies dans Xamarin.Forms.

Création d’extensions de balisage XAML

Écrivez vos propres extensions de balisage XAML personnalisées.