Partilhar via


Xamarin.Forms Pincéis: Cores sólidas

A SolidColorBrush classe deriva da Brush classe e é usada para pintar uma área com uma cor sólida. Há uma variedade de abordagens para especificar a cor de um SolidColorBrush. Por exemplo, você pode especificar sua cor com um valor Color ou usando um dos objetos SolidColorBrush predefinidos fornecidos pela classe Brush.

A classe SolidColorBrush define a propriedade Color, do tipo Color, que representa a cor do pincel. Essa propriedade é apoiada por um BindableProperty objeto, o que significa que ela pode ser o destino de associações de dados e estilizada.

A classe SolidColorBrush também tem um método IsEmpty que retorna um bool que representa se o pincel foi atribuído a uma cor.

Criar um SolidColorBrush

Há três técnicas principais para criar um SolidColorBrush. Você pode criar um SolidColorBrush a partir de Color, usar um pincel predefinido ou criar um SolidColorBrush usando notação hexadecimal.

Usar uma cor predefinida

Xamarin.Forms Inclui um conversor de tipo que cria um SolidColorBrush valor a partir de um Color . Em XAML, isso permite que um SolidColorBrush seja criado a partir de um valor Color predefinido:

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

Neste exemplo, a tela de fundo de Frame é pintada com um SolidColorBrush azul escuro:

Moldura pintada com uma cor predefinida

Como alternativa, o valor Color pode ser especificado usando a sintaxe da marca de propriedade:

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

Neste exemplo, a tela de fundo de Frame é pintada com um SolidColorBrush cuja cor é especificada definindo a propriedade SolidColorBrush.Color.

Usar um Pincel predefinido

A classe Brush define um conjunto de objetos SolidColorBrush comumente usados. O exemplo a seguir usa um desses objetos SolidColorBrush predefinidos:

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

Este é o código C# equivalente:

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

Neste exemplo, a tela de fundo de Frame é pintada com um SolidColorBrush índigo:

Quadro pintado com um SolidColorBrush predefinido

Para obter uma lista de objetos SolidColorBrush predefinidos fornecidos pela classe Brush, consulte Pincéis de cor sólida.

Usar notação hexadecimal

Objetos SolidColorBrush também podem ser criados usando notação hexadecimal. Com essa abordagem, uma cor é especificada quanto à quantidade de vermelho, verde e azul a ser combinada em uma única cor. O formato principal para especificar uma cor usando notação hexadecimal é #rrggbb, onde:

  • rr é um número hexadecimal de dois dígitos que especifica a quantidade relativa de vermelho.
  • gg é um número hexadecimal de dois dígitos que especifica a quantidade relativa de verde.
  • bb é um número hexadecimal de dois dígitos que especifica a quantidade relativa de azul.

Além disso, uma cor pode ser especificada como #aarrggbb em que aa especifica o valor alfa ou a transparência da cor. Essa abordagem permite que você crie cores parcialmente transparentes.

O exemplo a seguir define o valor de cor de um SolidColorBrush usando a notação hexadecimal:

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

Neste exemplo, a tela de fundo de Frame é pintada com um SolidColorBrush de cor salmão:

Quadro pintado com um SolidColorBrush criado usando notação hexadecimal

Para obter outras maneiras de descrever cores, consulte Cores em Xamarin.Forms.

Pincéis de cor sólida

Por conveniência, a classe Brush fornece um conjunto de objetos SolidColorBrush comumente usados, como AliceBlue e YellowGreen. A imagem a seguir mostra a cor de cada pincel predefinido, seu nome e seu valor hexadecimal:

Tabela de cores, incluindo uma amostra de cor, nome de cor e valor hexadecimal