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 une variété d’approches pour spécifier la couleur d’un SolidColorBrush
. Par exemple, vous pouvez spécifier sa couleur avec une Color
valeur ou à l’aide de l’un des objets prédéfinis SolidColorBrush
fournis par la Brush
classe.
La SolidColorBrush
classe définit la Color
propriété, 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 SolidColorBrush
classe a également une IsEmpty
méthode qui retourne une bool
valeur qui indique 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
pinceau prédéfini à partir d’un Color
pinceau prédéfini ou en 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 une SolidColorBrush
valeur prédéfinie Color
:
<Frame Background="DarkBlue"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
Dans cet exemple, l’arrière-plan du tableau Frame
est peint avec un bleu foncé SolidColorBrush
:
Vous pouvez également spécifier la valeur à l’aide de la Color
syntaxe de balise 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 de l’objet Frame
est peint avec une SolidColorBrush
couleur dont la couleur est spécifiée en définissant la SolidColorBrush.Color
propriété.
Utiliser un pinceau prédéfini
La Brush
classe définit un ensemble d’objets couramment utilisés SolidColorBrush
. L’exemple suivant utilise l’un de ces objets prédéfinis SolidColorBrush
:
<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 de l’objet Frame
est peint avec un indigo SolidColorBrush
:
Pour obtenir la liste des objets prédéfinis SolidColorBrush
fournis par la Brush
classe, consultez pinceaux de couleur unie.
Utiliser la notation hexadécimale
SolidColorBrush
les objets 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 format principal 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.
En outre, 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’une SolidColorBrush
notation hexadécimale :
<Frame Background="#FF9988"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
Dans cet exemple, l’arrière-plan de l’objet Frame
est peint avec une couleur SolidColorBrush
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 Brush
classe fournit un ensemble d’objets couramment utilisés SolidColorBrush
, tels que AliceBlue
et YellowGreen
. L’image suivante montre la couleur de chaque pinceau prédéfini, son nom et sa valeur hexadécimale :