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>

垂直渐变的渐变轴

注解

渐变布局

渐变是在由 CenterRadiusXRadiusY 属性定义的椭圆内绘制的。 渐变的颜色开始于椭圆的中心之处,结束于半径之处。

径向渐变的颜色由添加到 GradientStops 集合属性的颜色停点定义。 每个渐变停点指定一个颜色和一个沿渐变方向的偏移量。

渐变原点默认为中心,可以使用 GradientOrigin 属性进行偏移。

MappingMode 定义 CenterRadiusXRadiusYGradientOrigin 是表示相对坐标还是绝对坐标。

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) 及更高版本支持渐变呈现。 在以前的 OS 版本中,画笔将呈现 由 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表示可以访问 DependencyObject UI 线程上的 的功能,即使代码是由非 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)

适用于

另请参阅