【问题标题】:Change background color of disabled listbox in windows classic theme在 Windows 经典主题中更改禁用列表框的背景颜色
【发布时间】:2010-04-08 02:12:56
【问题描述】:

我正在开发一个必须使用 Windows 经典主题运行的 WPF 应用程序。应用程序创建一个包含 ListBox 的对话框。显示对话框时,必须禁用 1s 才能接受任何输入。我正在使用样式触发器来完成此操作,并且可以正常工作。但是,ListBox 在禁用时会显示白色背景,我似乎无法摆脱它。使用 aero 主题时,以下样式资源修复了该问题:

<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent"/>

但是当使用 Windows 经典主题时,白色背景会再次出现。我该如何解决经典主题的情况???

【问题讨论】:

    标签: wpf themes aero


    【解决方案1】:

    经过进一步研究,我发现 Windows Classic 主题使用 WindowBrushKey 而不是 ControlBrushKey。因此,这解决了 Aero 和 Classic 主题的问题:

    <Style TargetType="{x:Type ListBox}">
        <Style.Resources>
            <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent"/>
            <SolidColorBrush x:Key="{x:Static SystemColors.WindowBrushKey}" Color="Transparent"/>
        </Style.Resources>
    

    【讨论】:

      猜你喜欢
      • 2012-10-23
      • 1970-01-01
      • 2012-10-20
      • 2015-05-17
      • 1970-01-01
      • 2021-11-27
      • 2015-06-27
      • 2012-04-29
      • 1970-01-01
      相关资源
      最近更新 更多