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 Color
oggetto , 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
:
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
:
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
:
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: