【发布时间】:2020-07-28 05:02:05
【问题描述】:
我正在尝试更改 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 版中工作
【问题讨论】:
-
您是否在某处定义了一些
ComboBox样式?ComboBox的默认前景是黑色。无需将其显式设置为黑色。 -
不,我不知道,但它在 cms 内,并且 cms 有深色主题
-
@TechnologyResearcher:尝试将
Style属性设置为{x:Null}以应用默认Style。 -
这似乎是原因。在控件上本地设置属性(如您所做的那样)将覆盖任何样式设置。所以造型可能不是原因。也许您的主题会遍历可视化树以显式修改每个控件的外观。您究竟是如何为您的应用程序设置主题的?
-
我找到了我的解决方案,但它真的很奇怪,所以显然当根据列表调用调用 itemssource 的集合时,它是黑色或灰色
标签: c# wpf wpf-controls .net-4.6.1