Extensions de balisage XAML

Télécharger l’exemple Télécharger l’exemple

Les extensions de balisage XAML permettent d’étendre la puissance et la flexibilité de XAML en autorisant la définition d’attributs d’éléments à partir de sources autres que les chaînes de texte littérales.

Par exemple, vous définissez normalement la Color propriété de BoxView comme 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 Color en valeur par la ColorTypeConverter classe .

Vous préférerez 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 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 xml. Même avec les extensions de balisage XAML, XAML est toujours un code XML légal.

Une extension de balisage est vraiment une façon différente 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é dans des 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.