WPF背景双色调

4
我试图做一些非常简单的事情,但是一直没有进展。我一直在搜索网络,试图找到一个清晰的例子或信息片段,但是每篇文章都显示完全相同的简单示例。
我想要做的就是将列表框项的背景设置为双色,但是不带渐变混合。到目前为止,我已经做了以下工作:
<Setter Property="Background" >
    <Setter.Value>
        <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
            <GradientStop Color="#ACC6E0" Offset="0"/>
            <GradientStop Color="#DCE7F5" Offset="1"/>
        </LinearGradientBrush>
    </Setter.Value>
</Setter>

我尝试了很多不同的方法,但最终得到的只是逐渐变化的渐变效果,而不是两种颜色完全分割。

非常感谢

保罗

2个回答

11

只需在相同的偏移处添加两个停止点:

    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
        <GradientStop Color="#ACC6E0" Offset="0"/>
        <GradientStop Color="#ACC6E0" Offset="0.5"/>
        <GradientStop Color="#DCE7F5" Offset="0.5"/>
        <GradientStop Color="#DCE7F5" Offset="1"/>
    </LinearGradientBrush>

实际上你可以省略端点:

    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
        <GradientStop Color="#ACC6E0" Offset="0.5"/>
        <GradientStop Color="#DCE7F5" Offset="0.5"/>
    </LinearGradientBrush>

非常好用,谢谢!最后结果还是很明显的 ;) - Paulie Waulie
@Paulie Waulie:很高兴能帮到你 :) - H.B.

2

您需要添加额外的GradientStops:

<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
  <GradientStop Color="#ACC6E0" Offset="0"/>
  <GradientStop Color="#ACC6E0" Offset="0.5"/>
  <GradientStop Color="#DCE7F5" Offset="0.5"/>
  <GradientStop Color="#DCE7F5" Offset="1"/>
</LinearGradientBrush>

这个可行,谢谢。我投了两个答案的赞,但是因为只需要两行代码,所以最终选择了H.B的答案。非常感谢。 - Paulie Waulie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接