LinearGradientBrush Class
Collapse the table of content
Expand the table of content

LinearGradientBrush Class

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Paints an area with a linear gradient.

Namespace:  System.Windows.Media
Assembly:  System.Windows (in System.Windows.dll)
XMLNS for XAML: Not mapped to an xmlns.

public sealed class LinearGradientBrush : GradientBrush
<LinearGradientBrush ...>

XAML Values


One or more GradientStop object elements. Object elements defined here become members of the GradientStopCollection when code accesses the GradientStops property at run time.

The LinearGradientBrush type exposes the following members.

Public methodLinearGradientBrush()Initializes a new instance of the LinearGradientBrush class.
Public methodLinearGradientBrush(GradientStopCollection, Double)Initializes a new instance of the LinearGradientBrush class that has the specified GradientStopCollection and angle.

Public propertyColorInterpolationModeGets or sets a ColorInterpolationMode enumeration value that specifies how the gradient's colors are interpolated. (Inherited from GradientBrush.)
Public propertyDispatcherGets the Dispatcher this object is associated with. (Inherited from DependencyObject.)
Public propertyEndPointGets or sets the ending two-dimensional coordinates of the linear gradient.
Public propertyGradientStopsGets or sets the brush's gradient stops. (Inherited from GradientBrush.)
Public propertyMappingModeGets or sets a BrushMappingMode enumeration value that specifies whether the positioning coordinates of the gradient brush are absolute or relative to the output area. (Inherited from GradientBrush.)
Public propertyOpacityGets or sets the degree of opacity of a Brush. (Inherited from Brush.)
Public propertyRelativeTransformGets or sets the transformation that is applied to the brush using relative coordinates. (Inherited from Brush.)
Public propertySpreadMethodGets or sets the type of spread method that specifies how to draw a gradient that starts or ends inside the bounds of the object to be painted. (Inherited from GradientBrush.)
Public propertyStartPointGets or sets the starting two-dimensional coordinates of the linear gradient.
Public propertyTransformGets or sets the transformation that is applied to the brush. (Inherited from Brush.)

Public methodCheckAccessDetermines whether the calling thread has access to this object. (Inherited from DependencyObject.)
Public methodClearValueClears the local value of a dependency property. (Inherited from DependencyObject.)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetAnimationBaseValueReturns any base value established for a Windows Phone dependency property, which would apply in cases where an animation is not active. (Inherited from DependencyObject.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodGetValueReturns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodReadLocalValueReturns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject.)
Public methodSetValueSets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

Public fieldStatic memberEndPointPropertyIdentifies the EndPoint dependency property.
Public fieldStatic memberStartPointPropertyIdentifies the StartPoint dependency property.

A LinearGradientBrush paints an area with a linear gradient. A linear gradient defines a gradient along a line. The line's end points are defined by the StartPoint and EndPoint properties of the linear gradient. A LinearGradientBrush brush paints its GradientStops along this line.

The default linear gradient is diagonal. In the default, the StartPoint of a linear gradient is a Point with value 0,0, the upper-left corner of the area being painted, and its EndPoint is a Point with value 1,1, the lower-right corner of the area being painted. The colors in the resulting gradient are interpolated along the diagonal path.

The following illustration shows a diagonal gradient. A line was added to highlight the interpolation path of the gradient from the start point to the end point.

A diagonal linear gradient

Shows a gradient axis.

The next illustration shows the same linear gradient, but with highlighted gradient stops.

A diagonal linear gradient with highlighted gradient stops

Gradient with gradient stops.

It is possible to specify a gradient axis that does not completely fill area being painted. When this occurs, the SpreadMethod property determines how the remaining area is painted.

The following example creates a linear gradient with four colors and uses it to paint a Rectangle.

  <!-- This rectangle is painted with a vertical linear gradient. -->
  <Rectangle Width="200" Height="100">
      <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" />

The following illustration shows the resulting gradient. The gradient axis is marked with a dashed line, and the gradient stops are marked with circles.

Gradient axis for a vertical gradient

Gradient Stops of Linear Gradient

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

© 2016 Microsoft