Xamarin.Forms Štětce: Plné barvy
Třída SolidColorBrush
je odvozena od Brush
třídy a slouží k malování oblasti plnou barvou. Existují různé přístupy k určení barvy SolidColorBrush
. Můžete například zadat jeho barvu s Color
hodnotou nebo pomocí některého z předdefinovaných SolidColorBrush
objektů poskytovaných Brush
třídou.
Třída SolidColorBrush
definuje Color
vlastnost typu Color
, která představuje barvu štětce. Tato vlastnost je podporována objektem BindableProperty
, což znamená, že to může být cíl datových vazeb a styl.
Třída SolidColorBrush
má také metodu IsEmpty
, která vrací bool
, který představuje, zda byl štětec přiřazen barvu.
Vytvoření SolidColorBrush
Existují tři hlavní techniky pro vytvoření SolidColorBrush
. Můžete vytvořit SolidColorBrush
z Color
předdefinovaného štětce nebo vytvořit šestnáctkový SolidColorBrush
zápis.
Použití předdefinované barvy
Xamarin.Forms obsahuje převaděč typů, který vytvoří SolidColorBrush
z Color
hodnoty. V jazyce XAML to umožňuje SolidColorBrush
vytvoření z předdefinované Color
hodnoty:
<Frame Background="DarkBlue"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
V tomto příkladu Frame
je pozadí malované tmavě modrým SolidColorBrush
:
Color
Případně můžete hodnotu zadat pomocí syntaxe značek vlastností:
<Frame BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120">
<Frame.Background>
<SolidColorBrush Color="DarkBlue" />
</Frame.Background>
</Frame>
V tomto příkladu Frame
se pozadí maluje pomocí SolidColorBrush
barvy, jejíž barva je určena nastavením SolidColorBrush.Color
vlastnosti.
Použití předdefinovaného štětce
Třída Brush
definuje sadu běžně používaných SolidColorBrush
objektů. Následující příklad používá jeden z těchto předdefinovaných SolidColorBrush
objektů:
<Frame Background="{x:Static Brush.Indigo}"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
Ekvivalentní kód jazyka C# je:
Frame frame = new Frame
{
Background = Brush.Indigo,
BorderColor = Color.LightGray,
// ...
};
V tomto příkladu Frame
je pozadí malováno indigo SolidColorBrush
:
Seznam předdefinovaných SolidColorBrush
objektů poskytovaných Brush
třídou naleznete v tématu Plné barevné štětce.
Použití šestnáctkového zápisu
SolidColorBrush
Objekty lze také vytvořit pomocí šestnáctkového zápisu. Při použití tohoto přístupu je barva určena z hlediska množství červené, zelené a modré, aby se sloučí do jedné barvy. Hlavní formát pro určení barvy pomocí šestnáctkového zápisu je #rrggbb
, kde:
rr
je dvouciferné šestnáctkové číslo určující relativní množství červené.gg
je dvouciferné šestnáctkové číslo určující relativní množství zeleného čísla.bb
je dvouciferné šestnáctkové číslo určující relativní velikost modré.
Kromě toho lze barvu zadat tak, jak #aarrggbb
aa
určuje alfa hodnotu nebo průhlednost barvy. Tento přístup umožňuje vytvářet barvy, které jsou částečně průhledné.
Následující příklad nastaví hodnotu barvy pomocí šestnáctkové notace SolidColorBrush
:
<Frame Background="#FF9988"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
V tomto příkladu Frame
je pozadí malované s lososem barevným SolidColorBrush
:
Další způsoby popisu barvy naleznete v tématu Barvy v Xamarin.Forms.
Štětce plnou barvou
Pro usnadnění práce třída Brush
poskytuje sadu běžně používaných SolidColorBrush
objektů, například AliceBlue
a YellowGreen
. Následující obrázek znázorňuje barvu každého předdefinovaného štětce, jeho názvu a šestnáctkové hodnoty: