纯色画笔

Browse sample. 浏览示例

.NET Multi-platform App UI (.NET MAUI) SolidColorBrush 类派生自 Brush 类,用于使用纯色绘制区域。 有多种方法可用于指定 SolidColorBrush 的颜色。 例如,可以使用 Color 值,或者使用 Brush 类所提供预定义 SolidColorBrush 对象之一指定其颜色。

SolidColorBrush 类定义 Color 类型的 Color 属性,该属性表示画笔的颜色。 此属性由 BindableProperty 对象提供支持,这意味着它可以作为数据绑定的目标,并进行样式设置。

SolidColorBrush 类定义 Color 类型的 Color 属性,该属性表示画笔的颜色。 此属性是 SolidColorBrush 类的 ContentProperty,因此不需要通过 XAML 显式设置。 此外,此属性由 BindableProperty 对象提供支持,这意味着它可以是数据绑定的目标,并设置样式。

SolidColorBrush 类还有一种 IsEmpty 方法,该方法返回一个表示是否已向画笔分配颜色的 bool

创建 SolidColorBrush

创建 SolidColorBrush 有三种主要方法。 可以从 Color 创建 SolidColorBrush,使用预定义画笔或使用十六进制表示法创建 SolidColorBrush

使用预定义颜色

.NET MAUI 包含从 Color 值创建 SolidColorBrush 的类型转换器。 在 XAML 中,这允许从预定义的 Color 值创建 SolidColorBrush

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

在此示例中,用深蓝色 SolidColorBrush 绘制 Frame 的背景:

Screenshot of a Frame painted with a predefined color.

或者,可以使用属性标记语法指定 Color 值:

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

在此示例中,使用颜色是通过设置 SolidColorBrush.Color 属性指定的 SolidColorBrush 绘制 Frame 的背景。

使用预定义画笔

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 = Colors.LightGray,
    // ...
};

在此示例中,用靛蓝色 SolidColorBrush 绘制 Frame 的背景:

Screenshot of a Frame painted with a predefined SolidColorBrush.

有关 Brush 类提供的预定义 SolidColorBrush 对象列表,请参阅纯色画笔

使用十六进制表示法

还可以使用十六进制表示法创建 SolidColorBrush 对象。 使用此方法时,根据要组合成单一颜色的红色、绿色和蓝色量指定颜色。 使用十六进制表示法指定颜色的主要格式是 #rrggbb,其中:

  • rr 是一个两位数的十六进制数字,用于指定红色的相对量。
  • gg 是一个两位数的十六进制数,用于指定绿色的相对量。
  • bb 是一个两位数的十六进制数字,用于指定蓝色的相对量。

此外,可以将颜色指定为 #aarrggbb,其中 aa 指定颜色的 alpha 值或透明度。 使用此方法能够创建部分透明的颜色。

以下示例使用十六进制表示法设置 SolidColorBrush 的颜色值:

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

在此示例中,用具有鲑鱼色的 SolidColorBrush 绘制 Frame 的背景:

Screenshot of a Frame painted with a SolidColorBrush created with hexadecimal notation.

有关描述颜色的其他方法,请参阅颜色

纯色画笔

为方便起见,Brush 类提供了一组常用的 SolidColorBrush 对象,例如 AliceBlueYellowGreen。 下图显示了每个预定义画笔的颜色及其十六进制值:

Color table including a color swatch, color name, and hexadecimal value.