Udostępnij za pośrednictwem


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 Colorelementu , 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

Ramka malowana ze wstępnie zdefiniowanym kolorem

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:

Ramka malowana za pomocą wstępnie zdefiniowanego elementu 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:

Ramka malowana za pomocą elementu SolidColorBrush utworzonego przy użyciu notacji szesnastkowej

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:

Tabela kolorów, w tym próbka kolorów, nazwa koloru i wartość szesnastkowa