質問

ヘッダーの背景を色するブラシを持っています。私はブラシの外観が好きですが、下の3番目の中で透明に褪色するように希望します。どんな考えでもこれを行う方法?

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

役に立ちましたか?

解決

ブラシレベルでのみ作業することでそれをできるかわからないが、Controlに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}">
.

他のヒント

このようなARGB(アルファを含む)として色を指定するだけです。#AARRGGBB。次に、最後のグラデーションを停止します(完全に透明です。ご使用の場合は、#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