我正在尝试在另一个 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>
感谢您的答复
编辑:
为了让示例中的内容更清楚,我想在“FilterPopupTitleBrush”中使用“ComboBoxFocusBackgroundBrush”作为"template"。这样我在两个画笔中就有相同的颜色渐变,而无需复制“
最佳答案
您可以在多个画笔之间共享渐变停止点列表,如下所示:-
<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
提供相同的设置。
关于wpf - 在另一个 LinearGradientBrush 中使用 LinearGradientBrush?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3708817/