Xamarin.Forms ブラシ: 純色
SolidColorBrush
クラスは Brush
クラスから派生し、純色で領域を塗りつぶすために使用されます。 SolidColorBrush
の色を指定するにはさまざまな方法があります。 たとえば、Color
値を使用するか、Brush
クラスによって提供される事前定義された SolidColorBrush
オブジェクトの 1 つを使用して、その色を指定できます。
SolidColorBrush
クラスは、ブラシの色を表す Color
タイプの Color
プロパティを定義します。 これらのプロパティは、BindableProperty
オブジェクトが基になっています。つまり、データ バインディングの対象にして、スタイルを設定できます。
SolidColorBrush
クラスには、ブラシに色が割り当てられているかどうかを表す bool
を返す IsEmpty
メソッドもあります。
SolidColorBrush を作成する
SolidColorBrush
を作成するには、主に 3 つの方法があります。 Color
から SolidColorBrush
を作成したり、事前定義されたブラシを使用したり、16 進表記を使用して SolidColorBrush
を作成したりできます。
事前定義された色を使用する
Xamarin.Forms には、Color
値から SolidColorBrush
を作成する型コンバーターが含まれています。 XAML では、これにより、事前定義された Color
値から SolidColorBrush
を作成できるようになります。
<Frame Background="DarkBlue"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
この例では、Frame
の背景が濃い青の SolidColorBrush
でペイントされています。
あるいは、Color
値は、プロパティ タグ構文を使用して指定できます。
<Frame BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120">
<Frame.Background>
<SolidColorBrush Color="DarkBlue" />
</Frame.Background>
</Frame>
この例では、Frame
の背景が SolidColorBrush
でペイントされており、その色は SolidColorBrush.Color
プロパティを設定することで指定されています。
定義済みのブラシを使用する
Brush
クラスは、一般的に使用される SolidColorBrush
オブジェクトのセットを定義します。 次の例では、これらの事前定義された SolidColorBrush
オブジェクトのいずれかを使用します。
<Frame Background="{x:Static Brush.Indigo}"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
同等の C# コードを次に示します。
Frame frame = new Frame
{
Background = Brush.Indigo,
BorderColor = Color.LightGray,
// ...
};
この例では、Frame
の背景がインディゴ SolidColorBrush
でペイントされています。
Brush
クラスによって提供される事前定義された SolidColorBrush
オブジェクトのリストについては、「ソリッド カラー ブラシ」をご覧ください。
16 進数表記を使用する
SolidColorBrush
オブジェクトは、16 進表記を使用して作成することもできます。 この方法では、単一の色に結合する赤、緑、青の量の観点から色を指定します。 16 進表記を使用して色を指定するための主な形式は、#rrggbb
です。
rr
は、赤の相対量を指定する 2 桁の 16 進数です。gg
は、緑の相対量を指定する 2 桁の 16 進数です。bb
は、青の相対量を指定する 2 桁の 16 進数です。
さらに、色は #aarrggbb
として指定できます。aa
は色のアルファ値、つまり透明度を指定します。 この方法により、部分的に透明な色を作成することができます。
次の例では、16 進表記を使用して SolidColorBrush
のカラー値を設定します。
<Frame Background="#FF9988"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
この例では、Frame
の背景がサーモン色の SolidColorBrush
でペイントされています。
色を記述するその他の方法については、「Xamarin.Forms での色」を参照してください。
単色ブラシ
便宜上、Brush
クラスは、AliceBlue
や YellowGreen
など、一般的に使用される SolidColorBrush
オブジェクトのセットを提供します。 次の図は、定義済みの各ブラシの色、名前、およびその 16 進値を示しています。