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 通常具有两个或更多 GradientStop 值,该 属性 (有序集合) 。 每个 GradientStop 指定 ColorOffset偏移量 表示从 0 (StartPoint) 到 1 (沿渐变的 EndPoint) 之间的位置,画笔的实际像素长度及其渐变根据你在其中应用 LinearGradientBrush 作为值的 UI 进行调整。 有关如何定义 Offset 值以及如何与 OffsetStartPointEndPoint 相关的详细信息,请参阅 XAML 画笔。 通常使用

可以将 Transparent 值用于 GradientStop 颜色之一。 尽管这不会直观地将任何更改应用于 UI (它是透明的) ,但出于命中测试目的,可以检测到该点。 有关命中测试的详细信息,请参阅 鼠标交互的“命中测试”部分。

LinearGradientBrush 的 GradientStop 值可以作为过渡或装饰动画的一部分进行动画处理。 使用可对 Color 值进行动画处理的专用动画类型之一。 这通常涉及 .(GradientStop.Color)Storyboard.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)

初始化具有指定 GradientStopCollection 和角度的 LinearGradientBrush 类的新实例。

属性

ColorInterpolationMode

获取或设置 一个 ColorInterpolationMode 枚举值,该值指定渐变颜色的内插方式。

(继承自 GradientBrush)
Dispatcher

始终在Windows 应用 SDK应用中返回 null 。 请改用 DispatcherQueue

(继承自 DependencyObject)
DispatcherQueue

获取 DispatcherQueue 与此 对象关联的 。 DispatcherQueue表示可以访问 DependencyObject UI 线程上的 的功能,即使代码是由非 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)

适用于

另请参阅