Compartilhar 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 SolidColorBrusharquivo . Por exemplo, você pode especificar sua cor com um Color valor ou usando um dos objetos predefinidos SolidColorBrush fornecidos pela Brush classe.

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

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

Criar um SolidColorBrush

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

Usar uma cor predefinida

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

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

Neste exemplo, o plano de fundo do é pintado Frame com um azul SolidColorBrushescuro :

Quadro pintado com uma cor predefinida

Como alternativa, o valor pode ser especificado usando a Color 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, o plano de fundo do é pintado Frame com uma SolidColorBrush cor cuja cor é especificada definindo a SolidColorBrush.Color propriedade.

Usar um Pincel predefinido

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

<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, o fundo do é pintado Frame com um índigo SolidColorBrush:

Quadro pintado com um SolidColorBrush predefinido

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

Usar notação hexadecimal

SolidColorBrush objetos também podem ser criados usando notação hexadecimal. Com essa abordagem, uma cor é especificada em termos da quantidade de vermelho, verde e azul para combinar 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 onde aa especifica o valor alfa, ou transparência, da cor. Essa abordagem permite que você crie cores parcialmente transparentes.

O exemplo a seguir define o valor de cor de uma SolidColorBrush notação hexadecimal usada:

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

Neste exemplo, o fundo do é pintado Frame com uma cor SolidColorBrushde salmão:

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

Para outras formas de descrever cores, consulte Cores no Xamarin.Forms.

Pincéis de cor sólida

Por conveniência, a Brush classe fornece um conjunto de objetos comumente usados SolidColorBrush , 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 cores, nome da cor e valor hexadecimal