【问题标题】:WPF combobox colorsWPF 组合框颜色
【发布时间】:2010-03-05 07:35:03
【问题描述】:

我通过将 Style 添加到 App.xaml 来更改我的应用程序中所有 ComboBoxes 的外观:

    <Style TargetType="ComboBox">
        <Setter Property="Foreground" Value="White"/>
        <Setter Property="Background" Value="#303030"/>
        <Setter Property="BorderBrush" Value="#000000"/>
    </Style>

有两种颜色我无法设置:

1)BackgroundIsEnabled=false时的颜色

2) 当鼠标悬停在ComboBox 上时,突出显示Background 的颜色。

如何更改这两种颜色?

[编辑:看起来高亮颜色与鼠标悬停颜色不同,因为当我将鼠标移到ComboBox 上时,它会短暂地转动我定义为鼠标悬停颜色的颜色,然后转动变成其他颜色(浅蓝色)]

【问题讨论】:

    标签: wpf combobox styles


    【解决方案1】:

    您要检查样式触发器。还需要重写 ItemContainerStyle 以摆脱默认的浅蓝色选择颜色

    <Style.Triggers>
      <Trigger Property="IsMouseOver" Value="true">
        <Setter Property="Background" Value="SomeColor" />
      </Trigger>
      <Trigger Property="IsEnabled" Value="false">
        <Setter Property="Background" Value="SomeOtherColor" />
      </Trigger>
    </Style.Triggers>
    

    【讨论】:

    • 高亮显示效果不太好。我为IsMouseOver设置了红色,它确实变成红色大约四分之一秒,然后高亮颜色变成浅蓝色(用于直接变成)。
    • 我希望你把这个样式放到 ItemContainerStyle 中(这是 ComboBoxItem 的样式)
    猜你喜欢
    • 2017-02-02
    • 2017-09-15
    • 2011-07-26
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多