LinearGradientBrush 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用線形漸層繪製區域。
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
- 繼承
- 屬性
範例
以下範例建立一個四色線性漸層,並用它來繪製 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.Background、 Control.Foreground、 Shape.Fill、 Control.BorderBrush、 Panel.Background、 TextBlock.Foreground。 LinearGradientBrush 是較常用 SolidColorBrush 類型的替代方案。
LinearGradientBrush 的 StartPoint 和 EndPoint 屬性描述相對座標空間中的兩個點。 這會建立漸層的方向,而且通常會指定水準漸層或垂直漸層。 您也可以使用對角線漸層。 LinearGradientBrush 通常會有兩個或多個 GradientStops 屬性的 GradientStop 值, (已排序的集合) 。 每個 GradientStop 都會指定 Color 和 Offset。 位移 代表介於 0 (StartPoint) 和 1 之間的位置, (沿著漸層的 EndPoint) ,而筆刷的實際圖元長度及其漸層會根據您套用 LinearGradientBrush 作為值的 UI 進行調整。 如需如何定義 Offset 值以及如何 與 Offset、 StartPoint 和 EndPoint 相關的詳細資訊,請參閱 XAML 筆刷。 經常使用
您可以針對其中一種 GradientStop 色彩使用透明值。 雖然這不會以可視化方式將任何變更套用至 UI, (它是透明的) ,但該點可偵測到以進行點擊測試。 如需點擊測試的詳細資訊,請參閱 滑鼠互動的一節。
LinearGradientBrush 的 GradientStop 值可以在轉換或裝飾動畫中產生動畫效果。 使用其中一種專用動畫類型,以動畫顯示 Color 值。 這通常牽涉 .(GradientStop.Color)
到腳本 .TargetProperty 值的較長屬性路徑的一部分。 如需屬性目標的詳細資訊,以及如何以動畫顯示使用 Brush 值的屬性,請參閱 分鏡腳本動畫。
XAML 資源形式的筆刷
您可以在 XAML (SolidColorBrush、LinearGradientBrush、ImageBrush) 中宣告的每個 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 應用程式中傳回 |
DispatcherQueue |
|
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) |