2010-07-20 13 views
6

Ich habe einen Pinsel, der den Hintergrund eines Headers färbt. Ich mag die Art, wie der Pinsel aussieht, möchte ihn aber im unteren Drittel bis zur Transparenz ausbleichen lassen. Irgendwelche Ideen wie man das macht?Linearer Farbverlauf Pinsel Fade WPF

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

Antwort

20

Ich bin nicht sicher, dass Sie es durch die Arbeit nur auf der Bürste Ebene tun können, aber könnten Sie ein OpacityMask zu Ihrer Kontrolle gelten:

<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

Dies ist, was ich gesucht habe danke! –

6

Geben Sie einfach die Farben als ARGB (einschließlich Alpha) wie folgt an: #AARRGGBB. Geben Sie dann Ihrem letzten Gradienten einen Alpha-Wert von 0 (vollständig transparent; in Ihrem Fall # 0080A8CC). HTH.

+0

Das wird nicht funktionieren, weil die gewünschte Richtung der Opazität Gradient ist nicht dasselbe wie die Richtung des Farbverlaufs –