WPF组合框文本颜色不改变

标签 wpf xaml combobox

当选择项目时,我需要使组合框中的组合框项目的文本颜色更改为白色。我目前可以在这些条件下更改背景颜色,但是设置 <Setter Property="Foreground" Value="White"/>在更改背景颜色的同一样式触发器内部不会改变任何内容。

示例 XAML

<Style x:Key="ComboBoxItemStyle" TargetType="{x:Type ComboBoxItem}">
  <Style.Triggers>
            <Trigger Property="IsSelected" Value="True">
                <Setter Property="Background" Value="#FF648CBE"/>
                <Setter Property="Foreground" Value="White"/>
            </Trigger>
  </Style.Triggers>
</Style>

另外,如果我更改前景 setter 来更改字体大小或粗体,那么这是有效的。我不知道为什么我可以做到这一点,但不能改变颜色。

最佳答案

原来我不理解WPF样式层次结构。在 XAML 的其他地方,我的组合框前景色被数据绑定(bind)样式 block 覆盖。一旦删除,前景色就可以改变。

关于WPF组合框文本颜色不改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25413619/

相关文章:

wpf - 过时的 UI 自动化树

c# - 在 XAML ProgressBar 的 ValueChanged 事件上绑定(bind)平滑动画

c# - 如何使用 C# 代码和 XAML 在 xamarin.forms 中使用习语

c# - 如何避免使用 System.Reflection 在 ComboBox 中显示枚举属性值

java - 在带有附加 Bean 类的 Combobox jsp 中列出数据库值 java

c# - ComboBox 显示错误的字符串列表

c# - WPF 在 WPF 窗口中打开 exe 程序

wpf - 如何翻译 StringFormat 表达式中的文本?

.net - 是否有任何标准方法来报告桌面应用程序中的错误?

wpf - 在状态栏中使用分隔符