Xamarin.Forms Кисти: сплошные цвета

Класс SolidColorBrush является производным от Brush класса и используется для рисования области с сплошным цветом. Существует множество подходов к указанию цвета SolidColorBrush. Например, можно указать его цвет со Color значением или с помощью одного из предопределенных SolidColorBrush объектов, предоставляемых классом Brush .

Класс SolidColorBrush определяет Color свойство типа Color, представляющего цвет кисти. Это свойство поддерживается BindableProperty объектом, что означает, что он может быть целевым объектом привязок данных и стилем.

Класс SolidColorBrush также имеет IsEmpty метод, который возвращает bool значение, представляющее, назначена ли кисть цветом.

Создание SolidColorBrush

Существует три основных способа создания SolidColorBrush. Вы можете создать с SolidColorBrush Colorпомощью предопределенной кисти или создать SolidColorBrush шестнадцатеричную нотацию.

Использование предопределенного цвета

Xamarin.Forms включает преобразователь типов, который создает SolidColorBrush значение из Color значения. В XAML это позволяет SolidColorBrush создаваться из предопределенного Color значения:

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

В этом примере фон Frame окрашен темно-синей SolidColorBrush:

Фрейм, окрашенный предопределенным цветом

Кроме того, Color можно указать значение с помощью синтаксиса тега свойств:

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

В этом примере фон Frame окрашен с цветом SolidColorBrush , заданным свойством SolidColorBrush.Color .

Использование предопределенной кисти

Класс Brush определяет набор часто используемых SolidColorBrush объектов. В следующем примере используется один из следующих предопределенных SolidColorBrush объектов:

<Frame Background="{x:Static Brush.Indigo}"
       BorderColor="LightGray"
       HasShadow="True"
       CornerRadius="12"
       HeightRequest="120"
       WidthRequest="120" />       

Эквивалентный код на C# выглядит так:

Frame frame = new Frame
{
    Background = Brush.Indigo,
    BorderColor = Color.LightGray,
    // ...
};

В этом примере фон Frame рисуется с помощью indigo SolidColorBrush:

Фрейм, окрашенный предопределенным SolidColorBrush

Список предопределенных SolidColorBrush объектов, предоставляемых Brush классом, см. в кисти сплошных цветов.

Использование шестнадцатеричной нотации

SolidColorBrush Объекты также можно создавать с помощью шестнадцатеричной нотации. При таком подходе цвет указывается с точки зрения количества красного, зеленого и синего цветов для объединения в один цвет. Основной формат для указания цвета с помощью шестнадцатеричной нотации : #rrggbbгде:

  • rr — двухзначное шестнадцатеричное число, указывающее относительное количество красного цвета.
  • gg — двухзначное шестнадцатеричное число, указывающее относительное количество зеленого цвета.
  • bb — двухзначное шестнадцатеричное число, указывающее относительную величину синего цвета.

Кроме того, цвет можно указать, где #aarrggbb aa указывается альфа-значение или прозрачность цвета. Этот подход позволяет создавать частично прозрачные цвета.

В следующем примере задается значение SolidColorBrush цвета шестнадцатеричной нотации:

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

В этом примере фон Frame окрашен с цветом SolidColorBrushлосося:

Кадр, окрашенный с помощью SolidColorBrush, созданного с помощью шестнадцатеричной нотации

Другие способы описания цвета см. в разделе "Цвета".Xamarin.Forms

Кисти сплошной заливки

Для удобства Brush класс предоставляет набор часто используемых SolidColorBrush объектов, таких как AliceBlue и YellowGreen. На следующем рисунке показан цвет каждой предопределенной кисти, его имени и шестнадцатеричного значения:

Таблица цветов, включая цветовую часы, имя цвета и шестнадцатеричное значение