単色ブラシ

Browse sample. サンプルを参照する

.NET Multi-platform App UI (.NET MAUI) SolidColorBrush クラスは、Brush クラスから派生し、領域を単色でペイントするために使用されます。 SolidColorBrush の色を指定するにはさまざまな方法があります。 たとえば、Color 値を使用するか、Brush クラスによって提供される事前定義された SolidColorBrush オブジェクトの 1 つを使用して、その色を指定できます。

SolidColorBrush クラスは、ブラシの色を表す Color タイプの Color プロパティを定義します。 このプロパティは BindableProperty オブジェクトによってサポートされています。つまり、データ バインディングのターゲットにすることができ、スタイルを設定できます。

SolidColorBrush クラスは、ブラシの色を表す Color タイプの Color プロパティを定義します。 このプロパティは SolidColorBrush クラスの ContentProperty であるため、XAML から明示的に設定する必要はありません。 さらに、このプロパティは BindableProperty オブジェクトによってサポートされています。つまり、データ バインディングのターゲットにしてスタイルを設定できることを意味します。

SolidColorBrush クラスには、ブラシに色が割り当てられているかどうかを表す bool を返す IsEmpty メソッドもあります。

SolidColorBrush を作成する

SolidColorBrush を作成するには、主に 3 つの方法があります。 Color から SolidColorBrush を作成したり、事前定義されたブラシを使用したり、16 進表記を使用して SolidColorBrush を作成したりできます。

事前定義された色を使用する

.NET MAUI には、Color 値から SolidColorBrush を作成する型コンバーターが含まれています。 XAML では、これにより、事前定義された Color 値から SolidColorBrush を作成できるようになります。

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

この例では、Frame の背景が濃い青の SolidColorBrush でペイントされています。

Screenshot of a Frame painted with a predefined 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 = Colors.LightGray,
    // ...
};

この例では、Frame の背景がインディゴ SolidColorBrush でペイントされています。

Screenshot of a Frame painted with a predefined 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 でペイントされています。

Screenshot of a Frame painted with a SolidColorBrush created with hexadecimal notation.

色を記述するその他の方法については、「」をご覧ください。

単色ブラシ

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

Color table including a color swatch, color name, and hexadecimal value.