Share via


LinearGradientBrush クラス

定義

線形グラデーションを使用して領域を塗りつぶします。

public ref class LinearGradientBrush sealed : GradientBrush
/// [Windows.Foundation.Metadata.Activatable(Microsoft.UI.Xaml.Media.ILinearGradientBrushFactory, 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 LinearGradientBrush final : GradientBrush
[Windows.Foundation.Metadata.Activatable(typeof(Microsoft.UI.Xaml.Media.ILinearGradientBrushFactory), 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 LinearGradientBrush : GradientBrush
Public NotInheritable Class LinearGradientBrush
Inherits GradientBrush
<LinearGradientBrush ...>
  oneOrMoreGradientStops
</LinearGradientBrush
継承
Object Platform::Object IInspectable DependencyObject Brush GradientBrush LinearGradientBrush
属性

次の例では、4 色の線状グラデーションを作成し、それを使って Rectangle を塗りつぶします。

<StackPanel>
  <!-- This rectangle is painted with a vertical linear gradient. -->
  <Rectangle Width="200" Height="100">
    <Rectangle.Fill>
      <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
        <GradientStop Color="Yellow" Offset="0.0" />
        <GradientStop Color="Red" Offset="0.25" />
        <GradientStop Color="Blue" Offset="0.75" />
        <GradientStop Color="LimeGreen" Offset="1.0" />
      </LinearGradientBrush>
    </Rectangle.Fill>
  </Rectangle>
</StackPanel>
垂直グラデーションのグラデーション軸

注釈

LinearGradientBrush は 、Brush を使用してアプリ UI のオブジェクトのビジュアル領域の一部またはすべてを塗りつぶす可能性のある多くの UI プロパティに使用される Brush の一種です。 Brush 値を使用する最も一般的に使用されるプロパティの例としては、Control.Background、Control.ForegroundShape.FillControl.BorderBrush、Panel.BackgroundTextBlock.Foreground などがあります。 LinearGradientBrush は、より一般的に使用される SolidColorBrush 型の代替手段です。

LinearGradientBrush の StartPoint プロパティと EndPoint プロパティは、相対座標空間内の 2 つのポイントを表します。 これにより、グラデーションの向きが作成され、通常は水平グラデーションまたは垂直方向のグラデーションが指定されます。 斜めのグラデーションを使用することもできます。 LinearGradientBrush には、通常、 GradientStops プロパティ (順序付きコレクション) に対して 2 つ以上 の GradientStop 値があります。 各 GradientStop、色 とオフセットを指定 しますオフセット は、グラデーションに沿って 0 ( StartPoint) と 1 ( EndPoint) の間の位置を表し、ブラシとそのグラデーションの実際のピクセル長は、値として LinearGradientBrush を適用する UI に基づいて調整されます。 オフセット値の定義方法と、OffsetStartPoint、EndPoint の関連方法の詳細については、「XAML ブラシ」を参照してください。 を使用するのが一般的です

GradientStop 色の 1 つに Transparent 値を使用できます。 これは UI に変更を視覚的に適用しませんが (透明です)、そのポイントはヒット テストのために検出できます。 ヒット テストの詳細については、「 マウス操作」の「ヒット テスト」セクションを参照してください。

LinearGradientBrush の GradientStop 値は、画面切り替えまたは装飾アニメーションの一部としてアニメーション化できます。 Color 値をアニメーション化できる専用のアニメーションの種類のいずれかを使用します。 これには通常、.(GradientStop.Color)Storyboard.TargetProperty 値の長いプロパティ パスの一部が含まれます。 プロパティのターゲット設定の詳細と 、Brush 値を使用するプロパティをアニメーション化する方法については、「 ストーリーボード化されたアニメーション」を参照してください。

XAML リソースとしてのブラシ

XAML で宣言できる 各 Brush 型 (SolidColorBrush、LinearGradientBrush、 ImageBrush) は、アプリ全体でそのブラシをリソースとして再利用できるように、リソースとして定義することを目的としています。 Brush 型に表示される XAML 構文は、 ブラシ をリソースとして定義する場合に適しています。 ブラシをリソースとして宣言する場合は、後で他の UI 定義からそのリソースを参照するために使用する x:Key 属性 も必要です。 XAML リソースの詳細と x:Key 属性の使用方法については、「 ResourceDictionary および XAML リソース参照」を参照してください

ブラシをリソースとして宣言する利点は、UI を構築するために必要なランタイム オブジェクトの数を減らすことです。ブラシは、オブジェクト グラフの複数の部分に値を提供する共通リソースとして共有されるようになりました。

Windows ランタイム XAML コントロールの既存のコントロール テンプレート定義を見ると、テンプレートでブラシ リソースが広範囲に使用されていることがわかります (ただし、これらは通常、LinearGradientBrush ではなく SolidColorBrush です)。 これらのリソースの多くはシステム リソースであり、 {StaticResource} マークアップ拡張機能 ではなく、リソース参照に {ThemeResource} マークアップ拡張機能を使用します。 独自のコントロール テンプレート XAML でシステム リソース ブラシを使用する方法の詳細については、「 XAML テーマ リソース」を参照してください。

コンストラクター

LinearGradientBrush()

LinearGradientBrush クラスの新しいインスタンスを初期化します。

LinearGradientBrush(GradientStopCollection, Double)

指定した GradientStopCollection と angle を持つ LinearGradientBrush クラスの新しいインスタンスを初期化します。

プロパティ

ColorInterpolationMode

グラデーションの色の補間方法を指定する ColorInterpolationMode 列挙値を取得または設定します。

(継承元 GradientBrush)
Dispatcher

常に Windows アプリ SDK アプリで を返しますnull。 代わりに DispatcherQueue を使用してください。

(継承元 DependencyObject)
DispatcherQueue

このオブジェクトが DispatcherQueue 関連付けられている を取得します。 は DispatcherQueue 、コードが UI 以外のスレッドによって開始された場合でも、UI スレッド上の にアクセス DependencyObject できる機能を表します。

(継承元 DependencyObject)
EndPoint

線状グラデーションの終点の 2 次元座標を取得または設定します。

EndPointProperty

EndPoint 依存関係プロパティを識別します。

GradientStops

ブラシのグラデーションの分岐点を取得または設定します。

(継承元 GradientBrush)
MappingMode

グラデーション ブラシの配置座標が絶対座標であるか、出力領域を基準にするかを指定する BrushMappingMode 列挙値を取得または設定します。

(継承元 GradientBrush)
Opacity

ブラシの不透明度を取得または設定 します

(継承元 Brush)
RelativeTransform

相対座標を使用して、ブラシに適用される変換を取得または設定します。

(継承元 Brush)
SpreadMethod

オブジェクトの境界の内側で開始または終了するグラデーションの描画方法を指定するスプレッド メソッドの種類を取得または設定します。

(継承元 GradientBrush)
StartPoint

線形グラデーションの起点の 2 次元座標を取得または設定します。

StartPointProperty

StartPoint 依存関係プロパティを識別します。

Transform

ブラシに適用される変換を取得または設定します。

(継承元 Brush)

メソッド

ClearValue(DependencyProperty)

依存関係プロパティのローカル値をクリアします。

(継承元 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

依存関係プロパティに対して確立された基本値を返します。これは、アニメーションがアクティブでない場合に適用されます。

(継承元 DependencyObject)
GetValue(DependencyProperty)

DependencyObject から依存関係プロパティの現在の有効な値を返します。

(継承元 DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

アニメーション化できるプロパティを定義します。

(継承元 Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

派生クラスでオーバーライドされると、アニメーション化できるプロパティを定義します。

(継承元 Brush)
ReadLocalValue(DependencyProperty)

ローカル値が設定されている場合は、依存関係プロパティのローカル値を返します。

(継承元 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

この DependencyObject インスタンスの特定の DependencyProperty に対する変更をリッスンするための通知関数を登録します。

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

DependencyObject の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

RegisterPropertyChangedCallback を呼び出して以前に登録した変更通知を取り消します。

(継承元 DependencyObject)

適用対象

こちらもご覧ください