渐变轴
 
如前所述,线性渐变画笔的渐变停止点位于一条直线上,即渐变轴上。 可以 使用画笔的 StartPoint 和 EndPoint 属性更改直线的方向和大小。 通过操作 画笔的 StartPoint 和 EndPoint,可以创建水平和垂直渐变、反转渐变方向以 及压缩渐变的范围等。
 
默认情况下,线性渐变画笔的 StartPoint 和 EndPoint 与绘制区域相关。 点 (0,0) 表示绘制区域的左上角,(1,1) 表示绘制区域的右下角。 LinearGradientBrush 的默认 StartPoint 为 (0,0),其默认 EndPoint 为 (1,1),这就创建了一个从绘制区域的左上角开始延伸到右下角的对角线渐变。 下图显示了带有默认 StartPoint 和 EndPoint 的线性渐变画笔的渐变轴。
 
对角线方向线性渐变的渐变轴
 


下面的示例演示如何通过指定画笔的 StartPoint 和 EndPoint 来创建水平 渐变。 请注意,渐变停止点与前面的示例相同;只是更改了 StartPoint 和 EndPoint,就将对角线渐变更改为水平渐变。
 
XAML
 
<StackPanel>
   <!-- This rectangle is painted with a horizontal linear  gradient. -->
   <Rectangle Width="200" Height="100">
    <Rectangle.Fill>
     <LinearGradientBrush StartPoint="0,0.5" 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>
 </StackPanel>
 
下图演示了结果渐变。 渐变轴用虚线标记,而渐变停止点用圆圈标记。
 
水平方向线性渐变的渐变轴
 


下一个示例演示如何创建垂直渐变。
 
XAML
 
<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>
 
下图演示了结果渐变。 渐变轴用虚线标记,而渐变停止点用圆圈标记。
 
垂直渐变的渐变轴
 


本文来自-编程入门网:http://www.bianceng.cn/webkf/Silverlight/201012/21328_3.htm