Share via


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 で塗りつぶされたフレーム

あるいは、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 でペイントされています。

定義済みの 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 でペイントされています。

16 進表記を使って作成された SolidColorBrush で塗りつぶされたフレーム

色を記述するその他の方法については、「Xamarin.Forms での色」を参照してください。

単色ブラシ

便宜上、Brush クラスは、AliceBlueYellowGreen など、一般的に使用される SolidColorBrush オブジェクトのセットを提供します。 次の図は、定義済みの各ブラシの色、名前、およびその 16 進値を示しています。

色見本、色名、16 進値を含むカラー テーブル