SolidColorBrush クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
public ref class SolidColorBrush sealed : Brush
/// [Microsoft.UI.Xaml.Markup.ContentProperty(Name="Color")]
/// [Windows.Foundation.Metadata.Activatable(Microsoft.UI.Xaml.Media.ISolidColorBrushFactory, 65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SolidColorBrush final : Brush
[Microsoft.UI.Xaml.Markup.ContentProperty(Name="Color")]
[Windows.Foundation.Metadata.Activatable(typeof(Microsoft.UI.Xaml.Media.ISolidColorBrushFactory), 65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SolidColorBrush : Brush
Public NotInheritable Class SolidColorBrush
Inherits Brush
<SolidColorBrush .../>
-or-
<SolidColorBrush>colorString</SolidColorBrush>
- or -
<SolidColorBrush Color="predefinedColorName"/>
- or -
<SolidColorBrush Color="#rgb"/>
- or -
<SolidColorBrush Color="#argb"/>
- or -
<SolidColorBrush Color="#rrggbb"/>
- or -
<SolidColorBrush Color="#aarrggbb"/>
- or -
<SolidColorBrush Color="sc#scR,scG,scB"/>
- or -
<SolidColorBrush Color="sc#scA,scR,scG,scB"/>
- 継承
- 属性
例
SolidColorBrush を使用する最も一般的な方法は、RESOURCEDictionary で XAML 要素をリソースとして定義し、そのリソースを後で {StaticResource} マークアップ拡張機能または {ThemeResource} マークアップ拡張機能を使用して UI 定義、スタイル、またはテンプレートの他の部分から参照することです。
<ResourceDictionary>
...
<SolidColorBrush x:Key="BlockBackgroundBrush" Color="#FF557EB9"/>
...
</ResourceDictionary>
<Border Background="{StaticResource BlockBackgroundBrush}"
Width="80" Height="80"/>
SolidColorBrush をリソースとしてではなくインライン UI 値として定義するには、いくつかの異なる方法があります。
- 定義済みの色を名前で選択し、解析時にこの色によって SolidColorBrush が作成される XAML の "ショートカット" に依存します。 たとえば、次のように四角形の塗りつぶしを "赤" に設定できます。
<Canvas
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- This rectangle's fill is painted with a red SolidColorBrush,
described using a named color. -->
<Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
<Canvas
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- This rectangle's fill is painted with a red SolidColorBrush,
described using a named color. -->
<Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
- 赤、緑、青の量を指定して 32 ビット カラー パレット内に色を作成し、単一の単色に結合します。
<Canvas
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- This rectangle's fill is painted with a red SolidColorBrush,
described using a named color. -->
<Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
<Canvas
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- This rectangle's fill is painted with a red SolidColorBrush,
described using a named color. -->
<Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
SolidColorBrush greenBrush = new SolidColorBrush(Colors.Green);
Windows::UI::Xaml::Media::SolidColorBrush greenBrush{ Windows::UI::Colors::Green() };
auto greenBrush = ref new SolidColorBrush(Colors::Green);
新しい SolidColorBrush オブジェクトを定義するもう 1 つの方法は、 FromArgb 静的ユーティリティ メソッドを使用することです。 これは、目的の色に名前付き 色 の値がない場合に便利です。
SolidColorBrush myBrush = new SolidColorBrush(Color.FromArgb(255, 20, 20, 90));
Windows::UI::Xaml::Media::SolidColorBrush myBrush{ Windows::UI::ColorHelper::FromArgb(255, 90, 200, 90) };
auto myBrush = ref new SolidColorBrush(ColorHelper::FromArgb(255, 90, 200, 90));
注釈
SolidColorBrush は、 Brush を使用してアプリ UI のオブジェクトのビジュアル領域の一部またはすべてを塗りつぶす可能性のある多くの UI プロパティに使用される、最も一般的な種類の Brush です。 Brush 値を使用する最も一般的に使用されるプロパティの例としては、Control.Background、Control.Foreground、Shape.Fill、Control.BorderBrush、Panel.Background、TextBlock.Foreground などがあります。
これらのプロパティでは、多くの場合、 null 値が許容され、そこに何もレンダリングされないという結果になります。 要素が他の要素と同じ座標空間に表示される場合、Background などのプロパティの null 値により、その要素はヒット テストのために登録されず、入力イベントのソースを決定します。 UI 座標空間のそのポイントで発生するすべてのポインター イベント、ジェスチャは、そのポイントのレンダリングに影響を与える Brush プロパティに null 以外の値がある場合にのみ検出できます。
Transparent 値を使用する SolidColorBrush を作成できます。これは UI に変更を視覚的に適用しませんが (透明です)、そのポイントはヒット テストの目的で検出できます。 したがって、これは null 値を持つ Brush プロパティとは異なります。 Transparent ブラシは、四角形、罫線、パネルなどの要素でヒット テストをインターセプトする UI 要素にオーバーレイ領域を作成するなどの手法に役立ちます。 下の要素が独自のヒット テストを実行できないが、入力イベントを検出したい場合は、これを行うことができます。 ヒット テストの詳細については、「 マウス操作」の「ヒット テスト」セクションを参照してください。
ブラシを使用するプロパティは、画面切り替えや装飾アニメーションの一部としてアニメーション化できます。 通常、SolidColorBrush オブジェクト全体をアニメーション化する必要はありません。個別の オブジェクト アニメーションを使用する必要があり、効率的でも美的でもありません。 代わりに、Color 値をアニメーション化できる専用のアニメーションの種類のいずれかを使用して、 プロパティ のターゲット設定を使用して Color 値のみをアニメーション化します。 通常、これは Storyboard.TargetProperty 値の一部である必要.(SolidColorBrush.Color)
があります。 プロパティのターゲット設定の詳細と、SolidColorBrush またはその他の Brush 値を使用するプロパティをアニメーション化する方法については、「 ストーリーボード化されたアニメーション」を参照してください。
SolidColorBrush は共有可能なオブジェクトであり、LinearGradientBrush や ImageBrush などの他の派生型の Brush と同様です。 SolidColorBrush は共有可能であるため、XAML ResourceDictionary のリソースとして XAML で定義される場合があります。 XAML から共有可能なリソースを使用する利点は、値を 1 回だけ作成し、それを複数のプロパティに適用することです。
UIElement.Opacity 値を適用すると、オブジェクトに適用される SolidColorBrush プロパティの色の外観を変更できます。 UIElement.Opacity 値は、重複するオブジェクトのレイアウトに応じて累積できます。 色は、ネット 不透明度 の値が 1 の場合にのみ期待どおりに表示されます。 同様に、見かけの色に影響を与える 可能性がある Brush.Opacity プロパティもあります。 Brush.Opacity は通常、フェードインまたはフェードアウト効果のために意図的にアニメーション化されていない限り、既定値の 1 のままにします。
XAML リソースとしてのブラシ
XAML で宣言できる 各 Brush 型 (SolidColorBrush、 LinearGradientBrush、 ImageBrush) は、アプリ全体でそのブラシをリソースとして再利用できるように、リソースとして定義することを目的としています。 Brush 型に表示される XAML 構文は、 ブラシ をリソースとして定義する場合に適しています。 ブラシをリソースとして宣言する場合は、後で他の UI 定義からそのリソースを参照するために使用する x:Key 属性 も必要です。 XAML リソースの詳細と x:Key 属性の使用方法については、「 ResourceDictionary および XAML リソース参照」を参照してください。
ブラシをリソースとして宣言する利点は、UI を構築するために必要なランタイム オブジェクトの数を減らすことです。ブラシは、オブジェクト グラフの複数の部分に値を提供する共通リソースとして共有されるようになりました。
Windows ランタイム XAML コントロールの既存のコントロール テンプレート定義を見ると、テンプレートでブラシ リソースが広範囲に使用されていることがわかります。 これらのリソースの多くはシステム リソースであり、 {StaticResource} マークアップ拡張機能 ではなく、リソース参照に {ThemeResource} マークアップ拡張機能を使用します。 独自のコントロール テンプレート XAML でシステム リソース ブラシを使用する方法の詳細については、「 XAML テーマ リソース」を参照してください。
コンストラクター
SolidColorBrush() |
色なしで SolidColorBrush クラスの新しいインスタンスを初期化します。 |
SolidColorBrush(Color) |
指定した Color を使用して SolidColorBrush クラスの新しいインスタンスを初期化 します。 |
プロパティ
Color |
この SolidColorBrush の色を取得または設定します。 |
ColorProperty |
Color 依存関係プロパティを識別します。 |
Dispatcher |
常に Windows アプリ SDK アプリで を返します |
DispatcherQueue |
このオブジェクトが |
Opacity |
ブラシの不透明度を取得または設定 します。 (継承元 Brush) |
RelativeTransform |
相対座標を使用して、ブラシに適用される変換を取得または設定します。 (継承元 Brush) |
Transform |
ブラシに適用される変換を取得または設定します。 (継承元 Brush) |