Blog
XAML LinearGradientBrush: Rotating the Gradient
By Ken Getz | February 01, 2013
In a previous article we started discussing brushes, specifically the SolidColorBrush. This article switches focus to the LinearGradientBrush and rotating gradients.
A LinearGradientBrush allows you to paint an area with a linear gradient. When creating a linear gradient, you control the direction and position of the gradient, along with the colors that make up the gradientand the locations at which the colors change.
Rotating the Gradient
You can easily rotate a gradient by changing its StartPoint and EndPoint values. In the example shown in the Figure below, the start point and end point havebeen changed so that they create a horizontal line.
The following markup changes only the StartPoint and EndPoint values:
<Rectangle Width="200" Height="100">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0.50"
EndPoint="1,0.5">
<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>
The endpoints don't need to be horizontal, vertical, or diagonal, of course. The Figure below shows a gradient from the sample (second column, second row) that uses a slightly different angle, and shows its effect on the gradient.
TIP: If you would prefer not to have the coordinate mapping system relative to the bounding box, you can modify the MappingMode property of the LinearGradientBrush to Absolute, as opposed to its default value of RelativeToBoundingBox.
This post is an excerpt from the online courseware for our Windows 8 Using XAML: Bindings, Shapes, and Animation course written by expert Ken Getz.