Share via


RadialGradientBrush 類別

定義

RadialGradientBrush 繪製具有星形漸層的區域。 中心點會定義漸層的原點,而橢圓形則定義漸層的外部界限。

/// [Microsoft.UI.Xaml.CustomAttributes.MUXContractProperty(version=0)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Version(1)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="GradientStops")]
class RadialGradientBrush : XamlCompositionBrushBase
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="GradientStops")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.XamlContract, 65536)]
class RadialGradientBrush : XamlCompositionBrushBase
[Microsoft.UI.Xaml.CustomAttributes.MUXContractProperty(version=0)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Version(1)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="GradientStops")]
public class RadialGradientBrush : XamlCompositionBrushBase
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="GradientStops")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.XamlContract), 65536)]
public class RadialGradientBrush : XamlCompositionBrushBase
Public Class RadialGradientBrush
Inherits XamlCompositionBrushBase
繼承
Object IInspectable DependencyObject Brush XamlCompositionBrushBase RadialGradientBrush
屬性

範例

提示

如需詳細資訊、設計指引和程式碼範例,請參閱 XAML 筆刷

WinUI 3 資源庫應用程式包含大部分 WinUI 3 控制件、特性和功能的互動式範例。 從 Microsoft Store 取得應用程式,或在 GitHub 上取得原始程式碼。

下列範例會建立具有六個漸層停駐點的星形漸層,並使用它繪製 Rectangle。

<Page
  xmlns:media="using:Microsoft.UI.Xaml.Media">

  <Rectangle Width="200" Height="200">
      <Rectangle.Fill>
          <media:RadialGradientBrush>
              <GradientStop Color="Blue" Offset="0.0" />
              <GradientStop Color="Yellow" Offset="0.2" />
              <GradientStop Color="LimeGreen" Offset="0.4" />
              <GradientStop Color="LightBlue" Offset="0.6" />
              <GradientStop Color="Blue" Offset="0.8" />
              <GradientStop Color="LightGray" Offset="1" />
          </media:RadialGradientBrush>
      </Rectangle.Fill>
  </Rectangle>

</Page>

填滿星形漸層的矩形

此範例會建立星形漸層,其使用絕對對應模式搭配、 RadiusXRadiusYGradientOriginCenter自訂值:

<Page
  xmlns:media="using:Microsoft.UI.Xaml.Media">

  <Rectangle Width="200" Height="200">
      <Rectangle.Fill>
          <media:RadialGradientBrush
            MappingMode="Absolute"
            Center="50,50"
            RadiusX="100"
            RadiusY="100"
            GradientOrigin="100,50"
            >
              <GradientStop Color="Yellow" Offset="0.0" />
              <GradientStop Color="Blue" Offset="1" />
          </media:RadialGradientBrush>
      </Rectangle.Fill>
  </Rectangle>

</Page>

垂直漸層的漸層軸

備註

漸層配置

漸層是在 CenterRadiusX 和 RadiusY 屬性所定義的橢圓形內繪製。 漸層的色彩會從橢圓形的中央開始,並在半徑上結束。

放射狀漸層的色彩會由新增至 GradientStops 集合屬性的色彩停駐點所定義。 每個漸層停駐點都會指定色彩和漸層的位移。

漸層原點預設為中心點,並且可以使用 GradientOrigin 屬性來位移。

MappingMode 會定義 CenterRadiusX、RadiusYGradientOrigin 是否代表相對或絕對座標。

MappingMode 設定為 RelativeToBoundingBox時,會將三個屬性的 X 和 Y 值視為相對於元素界限,其中 (0,0) 代表左 (1,1) 上方,並代表 CenterRadiusXRadiusY 屬性之元素界限的右下角,並 (0,0) 代表 GradientOrigin 屬性的中心。

MappingMode 設定為 [Absolute] 時,這三個屬性的 X 和 Y 值會視為元素界限內的絕對座標。

Windows 10 版本支援

Windows 10 1903 版 (v10.0.18362.0) 版和更新版本支援漸層轉譯。 在舊版操作系統上,筆刷會轉譯 屬性所 FallbackColor 指定的純色。

XAML 資源形式的筆刷

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

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

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

建構函式

RadialGradientBrush()

初始化 RadialGradientBrush 類別的新實例。

屬性

Center

取得或設定包含漸層之橢圓形的中心。

CenterProperty

識別 Center 相依性屬性。

CompositionBrush

取得或設定這個 XAML 筆刷所使用的 CompositionBrush

(繼承來源 XamlCompositionBrushBase)
Dispatcher

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

(繼承來源 DependencyObject)
DispatcherQueue

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

(繼承來源 DependencyObject)
FallbackColor

CompositionBrush 無法轉譯時,用於轉譯的色彩。

(繼承來源 XamlCompositionBrushBase)
GradientOrigin

取得或設定相對於左上角) 的漸層原點 (。

GradientOriginProperty

識別 GradientOrigin 相依性屬性。

GradientStops

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

InterpolationSpace

取得或設定用來插補漸層色彩的色彩空間。

InterpolationSpaceProperty

識別 InterpolationSpace 相依性屬性。

MappingMode

取得或設定漸層筆刷的位置座標是絕對或相對於輸出區域。

MappingModeProperty

識別 MappingMode 相依性屬性。

Opacity

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

(繼承來源 Brush)
RadiusX

取得或設定包含漸層之橢圓形的 X 軸半徑。

RadiusXProperty

識別RadiusX相依性屬性。

RadiusY

取得或設定包含漸層之橢圓形的 Y 軸半徑。

RadiusYProperty

識別RadiusY相依性屬性。

RelativeTransform

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

(繼承來源 Brush)
SpreadMethod

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

SpreadMethodProperty

識別SpreadMethod相依性屬性。

Transform

取得或設定套用到筆刷的轉換。

(繼承來源 Brush)

方法

ClearValue(DependencyProperty)

清除相依性屬性的本機值。

(繼承來源 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

傳回為相依性屬性建立的任何基底值,如果動畫未使用中,則適用此屬性。

(繼承來源 DependencyObject)
GetValue(DependencyProperty)

DependencyObject 傳回相依性屬性的目前有效值。

(繼承來源 DependencyObject)
OnConnected()

第一次在螢幕上使用筆刷來繪製專案時叫用。

在衍生類別中實作時,您可以建立 CompositionBrush 實例,並藉由設定 CompositionBrush 屬性提供給架構。

當筆刷不再用來繪製任何元素時,將會呼叫 OnDisconnected

(繼承來源 XamlCompositionBrushBase)
OnDisconnected()

當筆刷不再用來繪製任何專案時叫用。

在衍生類別中實作時,您可以安全地處置撰寫筆刷和其他組合資源。

如果筆刷稍後用來在中斷聯機之後繪製任何元素,則會再次呼叫 OnConnected

(繼承來源 XamlCompositionBrushBase)
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)

適用於

另請參閱