Xamarin.Forms Pinceaux : couleurs unie
La SolidColorBrush
classe dérive de la Brush
classe et est utilisée pour peindre une zone avec une couleur unie. Il existe diverses approches permettant de spécifier la couleur d’un SolidColorBrush
. Par exemple, vous pouvez spécifier sa couleur avec une valeur Color
ou avec l’un des objets SolidColorBrush
prédéfinis fournis par la classe Brush
.
La classe SolidColorBrush
définit la propriété Color
, de type Color
, qui représente la couleur du pinceau. Cette propriété est sauvegardée par un BindableProperty
objet, ce qui signifie qu’elle peut être la cible de liaisons de données et de style.
La classe SolidColorBrush
a également une méthode IsEmpty
qui retourne une valeur bool
indiquant si le pinceau a été affecté à une couleur.
Créer un SolidColorBrush
Il existe trois techniques principales pour créer un SolidColorBrush
. Vous pouvez créer un SolidColorBrush
à partir d’une Color
, utiliser un pinceau prédéfini ou créer un SolidColorBrush
à l’aide de la notation hexadécimale.
Utiliser une couleur prédéfinie
Xamarin.Forms inclut un convertisseur de type qui crée une SolidColorBrush
Color
valeur. En XAML, cela permet de créer un SolidColorBrush
à partir d’une valeur Color
prédéfinie :
<Frame Background="DarkBlue"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
Dans cet exemple, l’arrière-plan du Frame
est peint avec un SolidColorBrush
bleu foncé :
La valeur Color
peut également être spécifiée avec la syntaxe de balises de propriété :
<Frame BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120">
<Frame.Background>
<SolidColorBrush Color="DarkBlue" />
</Frame.Background>
</Frame>
Dans cet exemple, l’arrière-plan du Frame
est peint avec un SolidColorBrush
dont la couleur est spécifiée en définissant la propriété SolidColorBrush.Color
.
Utiliser un pinceau prédéfini
La classe Brush
définit un ensemble d’objets SolidColorBrush
couramment utilisés. L’exemple suivant utilise l’un de ces objets SolidColorBrush
prédéfinis :
<Frame Background="{x:Static Brush.Indigo}"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
Le code C# équivalent est :
Frame frame = new Frame
{
Background = Brush.Indigo,
BorderColor = Color.LightGray,
// ...
};
Dans cet exemple, l’arrière-plan du Frame
est peint avec un SolidColorBrush
bleu indigo :
Pour obtenir la liste des objets SolidColorBrush
prédéfinis fournis par la classe Brush
, consultez Pinceaux de couleur unie.
Utiliser la notation hexadécimale
Les objets SolidColorBrush
peuvent également être créés à l’aide de la notation hexadécimale. Avec cette approche, une couleur est spécifiée en termes de quantité de rouge, de vert et de bleu à combiner en une seule couleur. Le principal format pour spécifier une couleur à l’aide de la notation hexadécimale est #rrggbb
, où :
rr
est un nombre hexadécimal à deux chiffres spécifiant la quantité relative de rouge.gg
est un nombre hexadécimal à deux chiffres spécifiant la quantité relative de vert.bb
est un nombre hexadécimal à deux chiffres spécifiant la quantité relative de bleu.
De plus, une couleur peut être spécifiée comme #aarrggbb
, où aa
spécifie la valeur alpha, ou la transparence, de la couleur. Cette approche vous permet de créer des couleurs qui sont partiellement transparentes.
L’exemple suivant définit la valeur de couleur d’un SolidColorBrush
à l’aide de la notation hexadécimale :
<Frame Background="#FF9988"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
Dans cet exemple, l’arrière-plan du Frame
est peint avec un SolidColorBrush
couleur saumon :
Pour d’autres façons de décrire la couleur, consultez Couleurs dans Xamarin.Forms.
Pinceaux de couleur unie
Pour des raisons pratiques, la classe Brush
fournit un ensemble d’objets SolidColorBrush
couramment utilisés, tels que AliceBlue
et YellowGreen
. L’image suivante montre la couleur de chaque pinceau prédéfini, son nom et sa valeur hexadécimale :