在另一个线性擦洗中使用线性涂线刷?
-
02-10-2019 - |
题
我正在尝试在另一个线性涂度刷的定义中使用一个线性涂度刷。但是我不知道天气这甚至可以工作,如果有效,我需要知道如何。
例如:
<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”中使用“ ComboboxFocusBackground”的示例中更加清楚一些事情,作为“模板”。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
来自Telerik。
不隶属于 StackOverflow