2010-07-20 54 views
6

我有一个画笔,它为一个标题的背景着色。我喜欢画笔的样子,但希望它能在最后三分之一时变得透明。任何想法如何做到这一点?线性渐变画笔淡入淡出WPF

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

回答

20

我不知道,你可以只刷一级工作做,但你可以申请一个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}"> 
+0

这就是我一直在寻找的感谢! – 2010-07-21 15:59:10

6

只需将颜色指定为ARGB(包括alpha),如下所示:#AARRGGBB。然后给你的最后一个渐变停止一个0的alpha值(完全透明;在你的情况#0080A8CC)。 HTH。

+0

这是行不通的,因为透明度的期望方向渐变不同于颜色渐变的方向 – 2010-07-20 21:37:21