此为原创,转载请注明出处。
参考:http://msdn.microsoft.com/zh-cn/library/vstudio/system.windows.media.lineargradientbrush(v=vs.100).aspx
先看一段代码
<Border BorderThickness="10,0,0,0" HorizontalAlignment="Left" Height="225" Margin="85,45,0,0" VerticalAlignment="Top" Width="325"> <Border.BorderBrush> <LinearGradientBrush EndPoint="0,0.5" MappingMode="RelativeToBoundingBox" StartPoint="1,0.5"> <GradientStop Color="#737a8b" Offset="0"/> <GradientStop Color="#8c939b" Offset="1"/> </LinearGradientBrush> </Border.BorderBrush> </Border>
从msdn上可知:
LinearGradientBrush 使用线性渐变绘制区域。 线性渐变沿直线定义渐变。 该直线的终点由线性渐变的 StartPoint 和 EndPoint 属性定义。LinearGradientBrush 画笔沿此直线绘制其 GradientStops。
默认的线性渐变是沿对角方向进行的。 默认情况下,线性渐变的 StartPoint 是被绘制区域的左上角 (0,0),其 EndPoint 是被绘制区域的右下角 (1,1)。 所得渐变的颜色是沿着对角方向路径插入的。
下图演示对角渐变。 其中添加了一条线,用于突出显示渐变从起点到终点的内插路径。
下一幅插图显示的是同一线性渐变,但它具有突出显示的渐变停止点。
因此StartPoint和EndPoint就能指定渐变的方向。