Xamarin.Forms Pinsel: Einfarbige Farben

Beispiel herunterladen Das Beispiel herunterladen

Die SolidColorBrush -Klasse leitet sich von der Brush -Klasse ab und wird verwendet, um einen Bereich mit einer Volltonfarbe zu zeichnen. Es gibt eine Vielzahl von Ansätzen, um die Farbe eines SolidColorBrushanzugeben. Beispielsweise können Sie die Farbe mit einem Color Wert oder mithilfe eines der vordefinierten SolidColorBrush Objekte angeben, die von der Brush -Klasse bereitgestellt werden.

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

Die SolidColorBrush -Klasse verfügt auch über eine IsEmpty -Methode, die eine bool zurückgibt, die angibt, ob dem Pinsel eine Farbe zugewiesen wurde.

Erstellen eines SolidColorBrush

Es gibt drei Standard Techniken zum Erstellen eines SolidColorBrush. Sie können einen SolidColorBrush aus einem Colorerstellen, einen vordefinierten Pinsel verwenden oder eine SolidColorBrush hexadezimale Notation verwenden.

Verwenden einer vordefinierten Farbe

Xamarin.Forms enthält einen Typkonverter, der einen SolidColorBrush aus einem Color Wert erstellt. In XAML ermöglicht dies das Erstellen eines SolidColorBrush aus einem vordefinierten Color Wert:

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

In diesem Beispiel ist der Hintergrund des Frame mit einem dunkelblauen SolidColorBrushdargestellt:

Rahmen, der mit einer vordefinierten Farbe gezeichnet wurde

Alternativ kann der Color Wert mithilfe der Eigenschaftentagssyntax 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 von Frame mit einem SolidColorBrush gezeichnet, dessen Farbe durch Festlegen der SolidColorBrush.Color -Eigenschaft angegeben wird.

Verwenden eines vordefinierten Pinsels

Die Brush -Klasse definiert einen Satz häufig verwendeter SolidColorBrush Objekte. Im folgenden Beispiel wird eines der folgenden vordefinierten SolidColorBrush Objekte verwendet:

<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 wird der Hintergrund des Frame mit einem Indigo SolidColorBrushbemalt:

Rahmen, der mit einem vordefinierten SolidColorBrush gemalt wurde

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

Verwenden der Hexadezimalschreibweise

SolidColorBrush Objekte können auch mit hexadezimaler Notation erstellt werden. Bei diesem Ansatz wird eine Farbe in Bezug auf die Menge an Rot, Grün und Blau angegeben, die zu einer einzigen Farbe kombiniert werden sollen. Das Standard Format zum Angeben einer Farbe mithilfe von Hexadezimalschreibweise ist , wobei Folgendes gilt#rrggbb:

  • rr ist eine zweistellige Hexadezimalzahl, die den relativen Rotwert angibt.
  • gg ist eine zweistellige Hexadezimalzahl, die die relative Menge von Grün angibt.
  • bb ist eine zweistellige Hexadezimalzahl, die die relative Menge von Blau angibt.

Darüber hinaus kann eine Farbe angegeben werden, in #aarrggbb der aa der Alphawert oder die Transparenz der Farbe angegeben wird. Dieser Ansatz ermöglicht Ihnen die Erstellung von Farben, die teilweise transparent sind.

Im folgenden Beispiel wird der Farbwert einer SolidColorBrush hexadezimalen Notation festgelegt:

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

In diesem Beispiel wird der Hintergrund des Frame mit einem lachsfarbenen SolidColorBrushGezeichnet:

Rahmen, der mit einem SolidColorBrush mit hexadezimaler Notation erstellt wurde

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

Einfarbige Pinsel

Der Einfachheit halber stellt die Brush -Klasse eine Reihe häufig verwendeter SolidColorBrush Objekte bereit, z. B AliceBlue . und YellowGreen. Die folgende Abbildung zeigt die Farbe jedes vordefinierten Pinsels, seinen Namen und seinen Hexadezimalwert:

Farbtabelle mit Farbfeld, Farbname und Hexadezimalwert