我有一个颜色的刷子的刷子。我喜欢刷子外观的方式,但希望它淡化在底部三分之一透明。任何想法如何做到这一点?

<LinearGradientBrush 
  x:Key="HeaderBackgroundBrush" 
  EndPoint=".5,1" 
  StartPoint="1,0">
  <GradientStop Color="#006699" Offset="1"/>
  <GradientStop Color="#80A8CC" Offset="0.5"/>
</LinearGradientBrush>
.

有帮助吗?

解决方案

我不确定只能在刷子级别工作,但是您可以将OpacityMask应用于控制:

<LinearGradientBrush
    x:Key="HeaderBackgroundOpacityMask"
    StartPoint="0,0"
    EndPoint="0,1">
  <GradientStop Color="#FFFFFFFF" Offset="0"/>
  <GradientStop Color="#FFFFFFFF" Offset="0.667"/>
  <GradientStop Color="#00FFFFFF" Offset="1"/>
</LinearGradientBrush>

...
<Border Background="{StaticResource HeaderBackgroundBrush}"
        OpacityMask="{StaticResource HeaderBackgroundOpacityMask}">
.

其他提示

只需将颜色指定为如此:#aarrgbb。然后给出你的最后一个渐变停止alpha值0(完全透明;在您的情况下#0080A8CC)。hth。

如果在c#中使用它使用以下代码。这将为您提供一款浅粉红色/三文鱼完全透明的刷子。更改#ff和#00以获得不同的透明度梯度。

var startColour = (SolidColorBrush)new BrushConverter().ConvertFrom("#FFff99a8");
var endColour = (SolidColorBrush)new BrushConverter().ConvertFrom("#00ff99a8");
_dirtyColourBackground = new LinearGradientBrush(startColour.Color, endColour.Color,new Point(0,0),new Point(1,0));
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top