Teilen über


Einfarbige Pinsel

Beispiel durchsuchen.Durchsuchen Sie das Beispiel

Die Klasse .NET Multi-platform App UI (.NET MAUI) SolidColorBrush leitet sich von der Klasse Brush ab und wird verwendet, um einen Bereich mit einer Volltonfarbe zu malen. 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 ist die ContentProperty der SolidColorBrush-Klasse und muss daher nicht explizit in XAML gesetzt werden. Darüber hinaus wird diese Eigenschaft durch ein BindableProperty-Objekt unterstützt, was bedeutet, dass sie das Ziel von Datenbindungen sein kann und gestylt werden kann.

Die SolidColorBrush-Klasse hat auch eine IsEmpty-Methode, die ein bool zurückgibt, das angibt, 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

.NET MAUI enthält einen Typkonverter, der aus einem Color-Wert einen SolidColorBrush-Wert erzeugt. 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:

Screenshot: Frame, 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 = Colors.LightGray,
    // ...
};

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

Screenshot: Frame, 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:

Screenshot: Frame, der mit einem mit hexadezimaler Notation erstelltem SolidColorBrush gezeichnet wurde

Für andere Arten der Beschreibung von Farben siehe Farben.

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.