在另一个LinearGradientBrush中使用LinearGradientBrush?

Tok*_*okk 7 silverlight wpf xaml colors color-space

我试图在另一个LinearGradientBrush的定义中使用一个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>
Run Code Online (Sandbox Code Playgroud)

感谢你期待你的答案

编辑:为了让事情更清楚一点,我想在"FilterPopupTitleBrush"中使用"ComboBoxFocusBackgroundBrush"作为"模板".因此我在两个画笔中都有相同的颜色渐变而没有"<GradientStop"的副本......>" - 标签

Ant*_*nes 9

您可以在多个画笔之间共享渐变停止列表,如下所示: -

<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}" /> 
Run Code Online (Sandbox Code Playgroud)

现在您可以改变EndPoint,StartPoint而其他属性可以创建相同基本渐变的不同变体.

你甚至可以提供相同的设置RadialGradientBrush.