LinearGradientBrush 类

定义

使用线性渐变绘制区域。

public ref class LinearGradientBrush sealed : GradientBrush
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.Xaml.Media.ILinearGradientBrushFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 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.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.Xaml.Media.ILinearGradientBrushFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class LinearGradientBrush final : GradientBrush
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.Xaml.Media.ILinearGradientBrushFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class LinearGradientBrush : GradientBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.Xaml.Media.ILinearGradientBrushFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class LinearGradientBrush : GradientBrush
Public NotInheritable Class LinearGradientBrush
Inherits GradientBrush
<LinearGradientBrush ...>
  oneOrMoreGradientStops
</LinearGradientBrush
继承
Object Platform::Object IInspectable DependencyObject Brush GradientBrush LinearGradientBrush
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

示例

下面的示例使用四种颜色创建了一种线性渐变效果,并用它来绘制 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 指定一个 Color 和一个 Offset偏移量 表示 0 (StartPoint) 到 1 (EndPoint) 沿渐变的位置,画笔的实际像素长度及其渐变将根据将 LinearGradientBrush 作为值的 UI 进行调整。 有关如何定义 Offset 值以及如何关联 OffsetStartPointEndPoint 的详细信息,请参阅 使用画笔。 通常使用

可以将 “透明 ”值用于其中一种 GradientStop 颜色。 尽管这不会在视觉上对 UI 应用任何更改, (它是透明的) ,但可以检测到这一点以进行命中测试。 有关命中测试的详细信息,请参阅 鼠标交互的“命中测试”部分。

LinearGradientBrush 的 GradientStop 值可以作为过渡或装饰动画的一部分进行动画处理。 使用可对 Color 值进行动画处理的专用动画类型之一。 这通常涉及 .(GradientStop.Color) 要成为 Storyboard.TargetProperty 值的较长属性路径的一部分。 有关属性目标以及如何使用 Brush 值对属性进行动画处理的详细信息,请参阅 情节提要动画

画笔作为 XAML 资源

可在 XAML (SolidColorBrush、LinearGradientBrushImageBrush) 中声明的每个画笔类型都旨在定义为资源,以便你可以在整个应用中重复使用该画笔作为资源。 为 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 和角度。

属性

ColorInterpolationMode

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

(继承自 GradientBrush)
Dispatcher

获取与此对象关联的 CoreDispatcherCoreDispatcher 表示可以访问 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)

适用于

另请参阅