Xamarin.Forms Szczotki: stałe kolory
Klasa SolidColorBrush
pochodzi z Brush
klasy i służy do malowania obszaru o stałym kolorze. Istnieje wiele metod określania koloru elementu SolidColorBrush
. Można na przykład określić jego kolor z wartością Color
lub przy użyciu jednego ze wstępnie zdefiniowanych SolidColorBrush
obiektów dostarczonych przez klasę Brush
.
Klasa SolidColorBrush
definiuje Color
właściwość typu Color
, która reprezentuje kolor pędzla. Ta właściwość jest wspierana BindableProperty
przez obiekt, co oznacza, że może być obiektem docelowym powiązań danych i stylizowany.
Klasa SolidColorBrush
ma również metodę IsEmpty
, która zwraca bool
wartość reprezentującą, czy szczotka została przypisana kolor.
Tworzenie narzędzia SolidColorBrush
Istnieją trzy główne techniki tworzenia obiektu SolidColorBrush
. Możesz utworzyć element SolidColorBrush
na podstawie Color
elementu , użyć wstępnie zdefiniowanego pędzla lub utworzyć notację szesnastkową SolidColorBrush
.
Używanie wstępnie zdefiniowanego koloru
Xamarin.Forms zawiera konwerter typów, który tworzy element SolidColorBrush
na podstawie Color
wartości. W języku XAML umożliwia utworzenie elementu SolidColorBrush
na podstawie wstępnie zdefiniowanej Color
wartości:
<Frame Background="DarkBlue"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
W tym przykładzie tło obiektu Frame
jest malowane ciemnoniebieskim :SolidColorBrush
Alternatywnie Color
można określić wartość przy użyciu składni tagu właściwości:
<Frame BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120">
<Frame.Background>
<SolidColorBrush Color="DarkBlue" />
</Frame.Background>
</Frame>
W tym przykładzie tło Frame
obiektu jest malowane za pomocą koloru, którego SolidColorBrush
kolor jest określony przez ustawienie SolidColorBrush.Color
właściwości .
Używanie wstępnie zdefiniowanego pędzla
Klasa Brush
definiuje zestaw często używanych SolidColorBrush
obiektów. W poniższym przykładzie użyto SolidColorBrush
jednego z tych wstępnie zdefiniowanych obiektów:
<Frame Background="{x:Static Brush.Indigo}"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
Równoważny kod języka C# to:
Frame frame = new Frame
{
Background = Brush.Indigo,
BorderColor = Color.LightGray,
// ...
};
W tym przykładzie tło obiektu Frame
jest malowane indigo SolidColorBrush
:
Aby uzyskać listę wstępnie zdefiniowanych SolidColorBrush
obiektów dostarczonych przez klasę Brush
, zobacz Solid color brushes (Pędzle z kolorami stałymi).
Użyj notacji szesnastkowej
SolidColorBrush
obiekty można również tworzyć przy użyciu notacji szesnastkowej. W przypadku tego podejścia kolor jest określany pod względem ilości czerwonej, zielonej i niebieskiej, aby połączyć się w jeden kolor. Głównym formatem określania koloru przy użyciu notacji szesnastkowej jest #rrggbb
, gdzie:
rr
to dwucyfrowa liczba szesnastkowa określająca względną ilość koloru czerwonego.gg
to dwucyfrowa liczba szesnastkowa określająca względną ilość zielonego.bb
to dwucyfrowa liczba szesnastkowa określająca względną ilość koloru niebieskiego.
Ponadto kolor można określić jako #aarrggbb
miejsce, w którym aa
określa wartość alfa lub przezroczystość koloru. Takie podejście umożliwia tworzenie kolorów, które są częściowo przezroczyste.
W poniższym przykładzie ustawiono wartość SolidColorBrush
koloru notacji szesnastkowej:
<Frame Background="#FF9988"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
W tym przykładzie tło obiektu Frame
jest malowane za pomocą koloru łososia SolidColorBrush
:
Aby uzyskać inne sposoby opisywania koloru, zobacz Kolory w pliku Xamarin.Forms.
Szczotki z kolorami stałymi
Dla wygody Brush
klasa udostępnia zestaw często używanych SolidColorBrush
obiektów, takich jak AliceBlue
i YellowGreen
. Na poniższej ilustracji przedstawiono kolor każdego wstępnie zdefiniowanego pędzla, jego nazwy i wartości szesnastkowej: