首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否在另一个LinearGradientBrush中使用LinearGradientBrush?

是否在另一个LinearGradientBrush中使用LinearGradientBrush?
EN

Stack Overflow用户
提问于 2010-09-14 20:24:59
回答 2查看 3.6K关注 0票数 7

我正在尝试在另一个LinearGradientBrush的定义中使用一个LinearGradientBrush。但我不知道这是否会起作用,如果起作用,我需要知道如何。

例如:

代码语言:javascript
复制
    <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”作为一个“.So”模板,我在两个画笔中都有相同的颜色渐变,而没有""-tags的副本。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-14 20:59:16

您可以在多个笔刷之间共享渐变色标列表,如下所示:

代码语言:javascript
复制
<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提供相同的集合。

票数 10
EN

Stack Overflow用户

发布于 2012-08-24 13:08:05

共享另一种方法,你不需要创建一个单独的集合,你也可以像这样重用现有的画笔

代码语言:javascript
复制
<LinearGradientBrush x:Key="FilterPopupTitleBrush" GradientStops="{Binding GradientStops, Source={StaticResource ComboBoxFocusBackgroundBrush}}"/>

这种基于现有画笔创建自定义画笔的方法会很有帮助,特别是当你想要扩展预定义的主题时,比如Telerik主题,这不是从telerik更改XAML的好方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3708817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档