質問

別のLinearGradientBrushの定義で1つのLinearGradientBrushを使用しようとしています。しかし、私はこれがうまくいくという天気さえ知らないので、それがうまくいくなら、私はその方法を知る必要があります。

例えば:

    <LinearGradientBrush x:Key="ComboBoxFocusBackgroundBrush" EndPoint="0.5,1" StartPoint="0.5,0">
        <GradientStop Color="#FFFDEEB3" Offset="0"/>
        <GradientStop Color="#FFFBF2CD" Offset="1"/>
        <GradientStop Color="#FFFCE48A" Offset="0.5"/>
        <GradientStop Color="#FFFBE388" Offset="0.75"/>
    </LinearGradientBrush>

    <LinearGradientBrush x:Key="FilterPopupTitleBrush" EndPoint="0.5,1" StartPoint="0.5,0">
        <GradientStop Color="#B45988" Offset="0.75"/>
        //Code here to use ComboBoxFocusBackgroundBrush
        <GradientStop Color="#990088" Offset="0.75"/>
    </LinearGradientBrush>

あなたの答えを期待してあなたに感謝します

編集:例でもう少し明確にするために、「filterpupuptitlebrush」で「combobxfocusbackgroundbrush」を「テンプレート」として使用したいのです。u003CGradientStop...> " - タグ

役に立ちましたか?

解決

このような複数のブラシ間でグラデーションストップのリストを共有できます。

<GradientStopCollection x:Key="MyGradient">
    <GradientStop Color="#FFFDEEB3" Offset="0"/> 
    <GradientStop Color="#FFFBF2CD" Offset="1"/> 
    <GradientStop Color="#FFFCE48A" Offset="0.5"/> 
    <GradientStop Color="#FFFBE388" Offset="0.75"/> 
</LinearGradientBrush> 

<LinearGradientBrush x:Key="ComboBoxFocusBackgroundBrush" EndPoint="0.5,1" StartPoint="0.5,0"
   GradientStops="StaticResource MyGradient}" /> 

<LinearGradientBrush x:Key="FilterPopupTitleBrush" EndPoint="0.5,1" StartPoint="0.5,0"
    GradientStops="{StaticResource MyGradient}" /> 

これで変化することができます EndPoint, StartPoint 他のプロパティは、同じ基本勾配の異なるバリエーションを作成します。

同じセットを提供することもできます RadialGradientBrush.

他のヒント

これを行う別の方法を共有すると、別のコレクションを作成する必要はありません。既存のブラシを次のように再利用することもできます。

<LinearGradientBrush x:Key="FilterPopupTitleBrush" GradientStops="{Binding GradientStops, Source={StaticResource ComboBoxFocusBackgroundBrush}}"/>

既存のブラシに基づいてカスタムブラシを作成するこの方法は、事前定義されたテーマを次のように拡張する場合に特別に役立ちます Telerik テーマ、それは良いアプローチではないでしょう XAML テレリクから。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top