在Windows上,可以更改UI元素使用的各种颜色(抱歉,我在工作时只有法语窗口):
通过在C#WPF应用程序中使用全局样式,无论我在上面的对话框中选择哪种颜色,我都确保各种UI元素始终使用相同的颜色。
例如,我们为组合框提供了以下全局样式:
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="Background" Value="White" />
<Setter Property="Foreground" Value="{StaticResource ControlDefaultForegroundBrush}" />
</Style>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="Foreground" Value="{StaticResource ControlDefaultForegroundBrush}" />
<Setter Property="FocusVisualStyle" Value="{DynamicResource ComboBoxFocusVisualStyle}" />
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="{StaticResource ComboBoxSelectionBackgroundColor}" />
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="White" />
</Style.Resources>
</Style>
所以我玩了修改所有颜色:
我们总是为组合框获得相同的颜色:
然后我决定通过选择以下主题进行测试:
我现在遇到以下问题:
对于组合框,选择项目但未选择项目时背景系统颜色的名称是什么?在此示例中,背景颜色为黑色而不是灰色(具有3D效果)。
使用全局样式可以摆脱这种背景颜色吗? 请注意,显示组合框项目时,我们的全局样式仍然有效。项目背景/前景色和高亮颜色仍然正常: