首页 > 解决方案 > WPF comboboxitem 前景色改变

问题描述

我正在尝试更改 wpf 中组合框的颜色,但由于某种原因它没有改变,我不知道为什么。这些项目确实被加载了,我可以告诉并验证,但我没有看到它们不是白色或黑色,而是与组合框的背景相同的颜色,有点灰色。

这就是我必须将组合框颜色前景更改为黑色,但不起作用。

<ComboBox Foreground="#FF000000" x:Name="cBox_nosave" Width="149.8192" Height="22" Canvas.Left="23.7296000000033" Canvas.Top="40.7904000000016">
    <ComboBox.ItemTemplate>
      <DataTemplate>
        <TextBlock Grid.Column="1" Margin="2, 1" Text="{Binding Name}" />
      </DataTemplate>
    </ComboBox.ItemTemplate>
    <ComboBox.ItemContainerStyle>
      <Style TargetType="{x:Type ComboBoxItem}">
        <Setter Property="Foreground" Value="Black" />
      </Style>
    </ComboBox.ItemContainerStyle>
  </ComboBox>

我需要做什么才能将前景色更改为黑色?在 wpf .net 版本 4.6.1 中工作

标签: c#wpfwpf-controls.net-4.6.1

解决方案


尝试TextBlock在项目模板中设置前景

<ComboBox Foreground="#FF000000" x:Name="cBox_nosave" Width="149.8192" Height="22" Canvas.Left="23.7296000000033" Canvas.Top="40.7904000000016">
    <ComboBox.ItemTemplate>
      <DataTemplate>
        <TextBlock Foreground="Black" Grid.Column="1" Margin="2, 1" Text="{Binding Name}" />
      </DataTemplate>
    </ComboBox.ItemTemplate>
    <ComboBox.ItemContainerStyle>
      <Style TargetType="{x:Type ComboBoxItem}">
        <Setter Property="Foreground" Value="Black" />
      </Style>
    </ComboBox.ItemContainerStyle>
  </ComboBox>

推荐阅读