共用方式為


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
屬性

範例

以下範例建立一個四色線性漸層,並用它來繪製 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 屬性,這些屬性會使用 Brush 填滿應用程式 UI 中的部分或所有物件的視覺區域。 使用 Brush 值之一些最常用的屬性範例包括: Control.BackgroundControl.ForegroundShape.FillControl.BorderBrushPanel.BackgroundTextBlock.Foreground。 LinearGradientBrush 是較常用 SolidColorBrush 類型的替代方案。

LinearGradientBrush 的 StartPointEndPoint 屬性描述相對座標空間中的兩個點。 這會建立漸層的方向,而且通常會指定水準漸層或垂直漸層。 您也可以使用對角線漸層。 LinearGradientBrush 通常會有兩個或多個 GradientStops 屬性的 GradientStop 值, (已排序的集合) 。 每個 GradientStop 都會指定 ColorOffset位移 代表介於 0 (StartPoint) 和 1 之間的位置, (沿著漸層的 EndPoint) ,而筆刷的實際圖元長度及其漸層會根據您套用 LinearGradientBrush 作為值的 UI 進行調整。 如需如何定義 Offset 值以及如何 與 OffsetStartPointEndPoint 相關的詳細資訊,請參閱 XAML 筆刷。 經常使用

您可以針對其中一種 GradientStop 色彩使用透明值。 雖然這不會以可視化方式將任何變更套用至 UI, (它是透明的) ,但該點可偵測到以進行點擊測試。 如需點擊測試的詳細資訊,請參閱 滑鼠互動的一節。

LinearGradientBrush 的 GradientStop 值可以在轉換或裝飾動畫中產生動畫效果。 使用其中一種專用動畫類型,以動畫顯示 Color 值。 這通常牽涉 .(GradientStop.Color) 到腳本 .TargetProperty 值的較長屬性路徑的一部分。 如需屬性目標的詳細資訊,以及如何以動畫顯示使用 Brush 值的屬性,請參閱 分鏡腳本動畫

XAML 資源形式的筆刷

您可以在 XAML (SolidColorBrush、LinearGradientBrushImageBrush) 中宣告的每個 Brush 類型,都是要定義為資源,以便在整個應用程式中重複使用該筆刷作為資源。 針對 Brush 類型顯示的 XAML 語法適用於將筆刷定義為資源。 當您將筆刷宣告為資源時,您也需要 x:Key 屬性 ,稍後您將用來從其他 UI 定義參考該資源。 如需 XAML 資源及如何使用 x:Key 屬性的詳細資訊,請參閱 ResourceDictionary 和 XAML 資源參考

將筆刷宣告為資源的優點是可減少建構 UI 所需的運行時間物件數目:筆刷現在會共用為物件圖形多個部分提供值的通用資源。

如果您查看 Windows 執行階段 XAML 控件的現有控件範本定義,您會看到範本使用筆刷資源廣泛 (,雖然這些資源通常是 SolidColorBrush,而不是 LinearGradientBrush) 。 其中許多資源都是系統資源,而且會針對資源參考使用 {ThemeResource} 標記延伸 ,而不是 {StaticResource} 標記延伸。 如需如何在您自己的控件範本 XAML 中使用系統資源筆刷的詳細資訊,請參閱 XAML 主題資源

建構函式

LinearGradientBrush()

初始化 LinearGradientBrush 類別的新實例。

LinearGradientBrush(GradientStopCollection, Double)

初始化 LinearGradientBrush 類別的新實例,這個實例具有指定的 GradientStopCollection 和 angle。

屬性

ColorInterpolationMode

取得或設定 ColorInterpolationMode 列舉值,指定漸層色彩的插補方式。

(繼承來源 GradientBrush)
Dispatcher

一律會在 Windows 應用程式 SDK 應用程式中傳回null。 請改用 DispatcherQueue

(繼承來源 DependencyObject)
DispatcherQueue

DispatcherQueue取得與這個 物件相關聯的 。 DispatcherQueue表示即使程式代碼是由非 UI 線程起始,也可以存取 DependencyObject UI 線程上的 。

(繼承來源 DependencyObject)
EndPoint

取得或設定線性漸層的結束二維座標。

EndPointProperty

識別 EndPoint 相依性屬性。

GradientStops

取得或設定筆刷的漸層停駐點。

(繼承來源 GradientBrush)
MappingMode

取得或設定 BrushMappingMode 列舉值,指定漸層筆刷的位置座標是否為絕對或相對於輸出區域。

(繼承來源 GradientBrush)
Opacity

取得或設定 Brush 不透明度的程度。

(繼承來源 Brush)
RelativeTransform

取得或設定使用相對座標套用到筆刷的轉換。

(繼承來源 Brush)
SpreadMethod

取得或設定展開方法的類型,該類型指定如何繪製在所要繪製物件之邊界內開始或結束的漸層。

(繼承來源 GradientBrush)
StartPoint

取得或設定線性漸層的起始二維座標。

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)

適用於

另請參閱