Xamarin.Forms Pinsel: Einfarbige Farben
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 SolidColorBrush
anzugeben. 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 Color
erstellen, 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 SolidColorBrush
dargestellt:
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 SolidColorBrush
bemalt:
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 SolidColorBrush
Gezeichnet:
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: