喃疯
易定者无感,易感者无定

最近项目中需要一个渐变色的提示框,

所以就做了一个简单的背景

 

 

<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;

  

posted on 2021-04-19 10:47  周子安  阅读(2034)  评论(0)    收藏  举报