最近项目中需要一个渐变色的提示框,
所以就做了一个简单的背景

<Border CornerRadius="4" VerticalAlignment="Center" HorizontalAlignment="Center" Width="1388" Height="70">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="Transparent" Offset="0"/>
<GradientStop Color="#AA000000" Offset="0.5"/>
<GradientStop Color="Transparent" Offset="1.0"/>
</LinearGradientBrush>
</Border.Background>
<TextBlock TextAlignment="Center" FontSize="24" Foreground="White" Padding="15,20,15,7" x:Name="mes" Text=""></TextBlock>
</Border>
首先WPF 里面 x,y 的方向一定要分清楚

然后认识一下WPF 下面的Brush这个类
Brush是一个抽象类
有多种继承的子类:

其中渐变画刷就可以为我们实现这个渐变色的效果
LinearGradientBrush 这个控股可怜见我们来看看它的定义

提供了起点终点两个依赖属性,
其父类gradientbrush 里面有个属性是渐变的停止点集合。

GradientStop- 描述渐变中过渡点的位置和颜色
主要属性:
Color 获取或设置渐变停止点的颜色。
Offset 获取渐变停止点在渐变向量中的位置。(一般设置可见区域 0-1)
LinearGradientBrush 使用线性渐变绘制区域。线性渐变沿直线定义渐变。该直线的起点和终点由线性渐变的 StartPoint 和 EndPoint 属性定义。LinearGradientBrush 画笔沿此直线绘制其 GradientStops。
原文链接:https://blog.csdn.net/june905206961/article/details/100989909
在如果用c#代码写就是
LinearGradientBrush linearGradientBrush = new LinearGradientBrush()
{
StartPoint = new Point(0, 0),
EndPoint = new Point(0, 1),
};
linearGradientBrush.GradientStops.Add(new GradientStop(Color.FromRgb(0x3c, 0x3c, 0x3c), 0));
linearGradientBrush.GradientStops.Add(new GradientStop(Color.FromRgb(0x19, 0x19, 0x19), 1));
BackGround = linearGradientBrush;
Visibility = Visibility.Collapsed;
浙公网安备 33010602011771号