在 XAML 样式中,如何将纯色背景更改为渐变色? [英] In XAML style, how to change solid background to gradient?

查看:27
本文介绍了在 XAML 样式中,如何将纯色背景更改为渐变色?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 MainResources.xaml 文件,其中有一个样式,用于定义应用程序中每个窗口的外观:

I've got a MainResources.xaml file in which I have a style that defines how each of my windows in my application look:

  <Style x:Key="MainBorderStyle" TargetType="{x:Type Border}">
    <Setter Property="Background" Value="WhiteSmoke" />
    <Setter Property="BorderBrush" Value="LightGray" />
    <Setter Property="BorderThickness" Value="1" />
    <Setter Property="CornerRadius" Value="5" />
    <Setter Property="SnapsToDevicePixels" Value="True" />
  </Style>

我希望我的背景是这种渐变,而不是WhiteSmoke":

Instead of "WhiteSmoke" I want my background to be this gradient:

    <LinearGradientBrush>
        <GradientStop Color="#ccc" Offset="0"/>
        <GradientStop Color="#bbb" Offset="1"/>
    </LinearGradientBrush>

但是以下尝试导致 VS2008 告诉我样式设置器不支持子元素":

But the following attempt causes VS2008 to tell me "Style setters do not support child elements":

<Style x:Key="MainBorderStyle" TargetType="{x:Type Border}">
    <Setter Property="Background">
        <LinearGradientBrush>
            <GradientStop Color="#ccc" Offset="0"/>
            <GradientStop Color="#bbb" Offset="1"/>
        </LinearGradientBrush>
    </Setter>
    <Setter Property="BorderBrush" Value="LightGray" />
    <Setter Property="BorderThickness" Value="1" />
    <Setter Property="CornerRadius" Value="5" />
    <Setter Property="SnapsToDevicePixels" Value="True" />
</Style>

将渐变颜色作为此样式的背景的正确方法是什么?

What is the correct way to put a gradient color as the background for this style?

推荐答案

您缺少

<Style ...> 
   <Setter Property="...">
      <Setter.Value>
         <LinearGradientBrush />
      </Setter.Value>
   </Setter>
</Style>

这篇关于在 XAML 样式中,如何将纯色背景更改为渐变色?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆