wpf - 在另一个 LinearGradientBrush 中使用 LinearGradientBrush?

标签 wpf silverlight 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>

感谢您的答复

编辑: 为了让示例中的内容更清楚,我想在“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}" /> 

现在,您可以改变 EndPointStartPoint 和其他属性,创建同一基本渐变的不同变体。

您甚至可以向RadialGradientBrush提供相同的设置。

关于wpf - 在另一个 LinearGradientBrush 中使用 LinearGradientBrush?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3708817/

相关文章:

c# - 在编译期间使用 MSBuild.exe 设置 bool 变量

c# - WPF UserControl 如何继承 WPF UserControl?

c# - 为什么 System dll 在 Silverlight 和其他 C# 库中不同是有原因的

c# - 在 Windows Phone 上设计媒体播放器的好方法是什么?

c# - 绑定(bind)到不在代码隐藏中的 RoutedUICommand

c# - UWP 导航查看同一类型的多个页面

c# - 将文本框绑定(bind)到 View 模型中的对象

c# - 如何在viewmodel(MVVM模型)wpf应用程序中使用命令行参数

c# - 遍历子元素,找到一些东西并访问它的兄弟属性

Silverlight 3 - 交换网络服务