Partager via


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é :

Cadre peint avec une couleur prédéfinie

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 :

Cadre peint avec un SolidColorBrush prédéfini

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 :

Cadre peint avec un SolidColorBrush créé à l’aide de la notation hexadécimale

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 :

Tableau de couleurs incluant une nuance de couleur, un nom de couleur et une valeur hexadécimale