当选择项目时,我需要使组合框中的组合框项目的文本颜色更改为白色。我目前可以在这些条件下更改背景颜色,但是设置 <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/