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
объектов, предоставляемых Brush
классом, см. в кисти сплошных цветов.
Использование шестнадцатеричной нотации
SolidColorBrush
Объекты также можно создавать с помощью шестнадцатеричной нотации. При таком подходе цвет указывается с точки зрения количества красного, зеленого и синего цветов для объединения в один цвет. Основной формат для указания цвета с помощью шестнадцатеричной нотации : #rrggbb
где:
rr
— двухзначное шестнадцатеричное число, указывающее относительное количество красного цвета.gg
— двухзначное шестнадцатеричное число, указывающее относительное количество зеленого цвета.bb
— двухзначное шестнадцатеричное число, указывающее относительную величину синего цвета.
Кроме того, цвет можно указать, где #aarrggbb
aa
указывается альфа-значение или прозрачность цвета. Этот подход позволяет создавать частично прозрачные цвета.
В следующем примере задается значение SolidColorBrush
цвета шестнадцатеричной нотации:
<Frame Background="#FF9988"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
В этом примере фон Frame
окрашен с цветом SolidColorBrush
лосося:
Другие способы описания цвета см. в разделе "Цвета".Xamarin.Forms
Кисти сплошной заливки
Для удобства Brush
класс предоставляет набор часто используемых SolidColorBrush
объектов, таких как AliceBlue
и YellowGreen
. На следующем рисунке показан цвет каждой предопределенной кисти, его имени и шестнадцатеричного значения: