Condividi tramite


Xamarin.Forms Pennelli: colori a tinta unita

La SolidColorBrush classe deriva dalla Brush classe e viene usata per disegnare un'area con un colore a tinta unita. Esistono diversi approcci per specificare il colore di un oggetto SolidColorBrush. Ad esempio, è possibile specificarne il colore con un Color valore o usando uno degli oggetti predefiniti SolidColorBrush forniti dalla Brush classe .

La SolidColorBrush classe definisce la Color proprietà di tipo Color, che rappresenta il colore del pennello. Questa proprietà è supportata da un BindableProperty oggetto , il che significa che può essere la destinazione dei data binding e stili.

La SolidColorBrush classe dispone inoltre di un IsEmpty metodo che restituisce un bool oggetto che indica se al pennello è stato assegnato un colore.

Creare un oggetto SolidColorBrush

Esistono tre tecniche principali per la creazione di un oggetto SolidColorBrush. È possibile creare un oggetto SolidColorBrush da un Coloroggetto , usare un pennello predefinito oppure creare un oggetto usando la SolidColorBrush notazione esadecimale.

Usare un colore predefinito

Xamarin.Forms include un convertitore di tipi che crea un oggetto SolidColorBrush da un Color valore. In XAML questo consente di creare un oggetto SolidColorBrush da un valore predefinito Color :

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

In questo esempio lo sfondo di Frame viene disegnato con un blu scuro SolidColorBrush:

Cornice dipinta con un colore predefinito

In alternativa, è possibile specificare il valore usando la Color sintassi dei tag di proprietà:

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

In questo esempio lo sfondo di Frame viene disegnato con un SolidColorBrush il cui colore viene specificato impostando la SolidColorBrush.Color proprietà .

Usare un pennello predefinito

La Brush classe definisce un set di oggetti di uso comune SolidColorBrush . Nell'esempio seguente viene usato uno di questi oggetti predefiniti SolidColorBrush :

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

Il codice C# equivalente è il seguente:

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

In questo esempio lo sfondo di Frame viene dipinto con un indaco SolidColorBrush:

Cornice dipinta con un Oggetto SolidColorBrush predefinito

Per un elenco di oggetti predefiniti forniti dalla Brush classe , vedere Pennelli a tinta SolidColorBrush unita.

Usare la notazione esadecimale

SolidColorBrush gli oggetti possono essere creati anche usando la notazione esadecimale. Con questo approccio, viene specificato un colore in termini di quantità di rosso, verde e blu da combinare in un singolo colore. Il formato principale per specificare un colore usando la notazione esadecimale è #rrggbb, dove:

  • rr è un numero esadecimale a due cifre che specifica la quantità relativa di rosso.
  • gg è un numero esadecimale a due cifre che specifica la quantità relativa di verde.
  • bb è un numero esadecimale a due cifre che specifica la quantità relativa di blu.

Inoltre, un colore può essere specificato come #aarrggbb dove aa specifica il valore alfa, o trasparenza, del colore. Questo approccio consente di creare colori parzialmente trasparenti.

Nell'esempio seguente viene impostato il valore del colore di una SolidColorBrush notazione esadecimale:

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

In questo esempio lo sfondo di Frame viene dipinto con un color salmone SolidColorBrush:

Cornice dipinta con un oggetto SolidColorBrush creato usando la notazione esadecimale

Per altri modi di descrivere il colore, vedere Colori in Xamarin.Forms.

Pennelli tinta unita

Per praticità, la Brush classe fornisce un set di oggetti di uso SolidColorBrush comune, ad esempio AliceBlue e YellowGreen. L'immagine seguente mostra il colore di ogni pennello predefinito, il relativo nome e il relativo valore esadecimale:

Tabella dei colori che include un campione di colori, un nome di colore e un valore esadecimale