Freigeben über


Xamarin.Forms Pinsel: Volltonfarben

Die SolidColorBrush Klasse wird von der Brush Klasse abgeleitet und verwendet, um einen Bereich mit einer Volltonfarbe zu zeichnen. Für die Angabe der Farbe eines SolidColorBrush gibt es verschiedene Ansätze. Sie können zum Beispiel die Farbe mit einem Color-Wert angeben oder eines der vordefinierten SolidColorBrush-Objekte verwenden, die von der Brush-Klasse bereitgestellt werden.

Die Klasse SolidColorBrush definiert die Eigenschaft Color vom Typ Color, die die Farbe des Pinsels darstellt. Diese Eigenschaft wird durch ein BindableProperty-Objekt unterstützt, was bedeutet, dass sie das Ziel von Datenbindungen sein kann und geformt werden kann.

Die SolidColorBrush-Klasse verfügt außerdem über eine IsEmpty-Methode, die einen bool-Wert zurückgibt, ob dem Pinsel eine Farbe zugewiesen wurde.

Erstellen eines SolidColorBrush

Es gibt drei Haupttechniken zur Erstellung eines SolidColorBrush. Sie können ein SolidColorBrush aus einem Color erstellen, einen vordefinierten Pinsel verwenden oder ein SolidColorBrush in hexadezimaler Notation erstellen.

Eine vordefinierte Farbe verwenden

Xamarin.Forms enthält einen Typkonverter, der einen SolidColorBrush aus einem Color Wert erstellt. In XAML kann so ein SolidColorBrush aus einem vordefinierten Color-Wert erstellt werden:

<Frame Background="DarkBlue"
       BorderColor="LightGray"
       HasShadow="True"
       CornerRadius="12"
       HeightRequest="120"
       WidthRequest="120" />

In diesem Beispiel ist der Hintergrund des Frame in einem dunkelblauen SolidColorBrush gehalten:

Rahmen, der mit einer vordefinierten Farbe gezeichnet wurde

Alternativ kann der Wert Color auch über die Syntax der Eigenschaftskennzeichnung angegeben werden:

<Frame BorderColor="LightGray"
       HasShadow="True"
       CornerRadius="12"
       HeightRequest="120"
       WidthRequest="120">
       <Frame.Background>
           <SolidColorBrush Color="DarkBlue" />
       </Frame.Background>
</Frame>

In diesem Beispiel wird der Hintergrund des Frame mit einem SolidColorBrush gezeichnet, dessen Farbe durch die Einstellung der Eigenschaft SolidColorBrush.Color festgelegt wird.

Einen vordefinierten Pinsel verwenden

Die Brush-Klasse definiert eine Reihe von häufig verwendeten SolidColorBrush-Objekten. Das folgende Beispiel verwendet eines dieser vordefinierten SolidColorBrush-Objekte:

<Frame Background="{x:Static Brush.Indigo}"
       BorderColor="LightGray"
       HasShadow="True"
       CornerRadius="12"
       HeightRequest="120"
       WidthRequest="120" />       

Der entsprechende C#-Code lautet:

Frame frame = new Frame
{
    Background = Brush.Indigo,
    BorderColor = Color.LightGray,
    // ...
};

In diesem Beispiel ist der Hintergrund des Frame mit einem indigoblauen SolidColorBrush bemalt:

Rahmen, der mit einem vordefinierten SolidColorBrush gezeichnet wurde

Eine Liste der vordefinierten SolidColorBrush-Objekte, die von der Brush-Klasse bereitgestellt werden, finden Sie unter Farbpinsel.

Verwenden Sie eine Hexadezimale Schreibweise

SolidColorBrush-Objekte können auch in hexadezimaler Notation erstellt werden. Bei diesem Ansatz wird eine Farbe durch die Menge an Rot, Grün und Blau angegeben, die zu einer einzigen Farbe kombiniert werden soll. Das Hauptformat für die Angabe einer Farbe in hexadezimaler Notation ist #rrggbb, wobei:

  • rr ist eine zweistellige hexadezimale Zahl, die den relativen Anteil von Rot angibt.
  • gg ist eine zweistellige hexadezimale Zahl, die den relativen Anteil von Grün angibt.
  • bb ist eine zweistellige hexadezimale Zahl, die den relativen Anteil von Blau angibt.

Außerdem kann eine Farbe als #aarrggbb angegeben werden, wobei aa den Alphawert bzw. die Transparenz der Farbe angibt. Dieser Ansatz ermöglicht Ihnen die Erstellung von Farben, die teilweise transparent sind.

Im folgenden Beispiel wird der Farbwert eines SolidColorBrush in hexadezimaler Notation festgelegt:

<Frame Background="#FF9988"
       BorderColor="LightGray"
       HasShadow="True"
       CornerRadius="12"
       HeightRequest="120"
       WidthRequest="120" />

In diesem Beispiel ist der Hintergrund des Frame mit einem lachsfarbenen SolidColorBrush bemalt:

Rahmen, der mit einem solidColorBrush gezeichnet wurde, der mit hexadezimaler Schreibweise erstellt wurde

Weitere Möglichkeiten zum Beschreiben von Farben finden Sie unter "Farben" in Xamarin.Forms.

Einfarbige Pinsel

Der Einfachheit halber bietet die Klasse Brush eine Reihe von häufig verwendeten SolidColorBrush-Objekten, wie AliceBlue und YellowGreen. Die folgende Abbildung zeigt die Farbe jedes vordefinierten Pinsels, seinen Namen und seinen Hexadezimalwert:

Farbtabelle, einschließlich Farbmuster, Farbname und Hexadezimalwert