【问题标题】:WPF How to change the listbox selected item text color when the list box loses focusWPF如何在列表框失去焦点时更改列表框选定项的文本颜色
【发布时间】:2011-03-07 21:46:39
【问题描述】:

我一直在寻找如何更改失去焦点的列表框中所选项目的文本颜色。

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

这三个标签负责大部分工作,但我的列表框有黑色背景,当控件失去焦点时,字体会变成黑色。

我从另一篇帖子SystemColor. Keys 中找到了这个列表,它从这个列表中提供了大量可能的选项,但任何看起来很直观的东西都不起作用。有人知道我需要更改的密钥吗?

【问题讨论】:

    标签: wpf listbox styles selecteditem


    【解决方案1】:

    我将它放在资源字典中,用于包含列表框的元素:

                   <Style TargetType="ListBoxItem">
                    <Style.Resources>
                        <!--SelectedItem with focus-->
                        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Blue"/>
                        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="White"/>
                        <!--SelectedItem without focus-->
                        <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Blue"/>
                        <SolidColorBrush x:Key="{x:Static SystemColors.ControlTextBrushKey}" Color="White"/>
                    </Style.Resources>
                </Style>
    

    另请注意,在 .Net 4.5 中,您必须通过设置来要求“旧”行为

          FrameworkCompatibilityPreferences.
                AreInactiveSelectionHighlightBrushKeysSupported = false;
    

    在创建任何窗口之前的程序早期。

    【讨论】:

      【解决方案2】:

      使用以下代码,例如使用 Colors.Black 更改颜色

      listBox.Resources.Add(SystemColors.ControlBrushKey, new SolidColorBrush(Color.FromArgb(0xFF, 0x7F, 0xDB, 0x14)));
      listBox.Resources.Add(SystemColors.ControlTextBrushKey, Brushes.White);
      

      祝你好运。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-24
        • 1970-01-01
        • 1970-01-01
        • 2023-04-05
        • 1970-01-01
        相关资源
        最近更新 更多