我希望我的应用程序能够在Windows中处理高对比度主题。要复制该问题,请先切换到高对比度主题。然后使用xaml中的代码创建一个简单的WPF应用程序:
<StackPanel>
<CheckBox>A checkbox</CheckBox>
<CheckBox Foreground="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}">ControlTextBrushKey</CheckBox>
</StackPanel>
在UI中看起来像这样
出于某种原因,无论我使用什么主题,ControlTextBrushKey始终解析为#FFFFFFFF。我错过了什么?它也不应该是绿色的吗?
答案 0 :(得分:2)
以下是我的观察:
Windows 7:如果选择High Contrast #2
Aero Theme
,则ControlTextBrushKey按预期为绿色。但是,如果选择High Contrast #1
Aero Theme
,则ControlTextBrushKey将返回白色。以下是High Contrast #2
Aero Theme
Windows 8 :无论具有默认主题的高对比度(High Contrast #1
或High Contrast #2
)如何,ControlTextBrushKey
始终返回#FFFFFFFF
以下是High Contrast #1
&amp;的表格。 High Contrast #2
取自Here,根据此表在Windows 7上运行。搜索ControlTextBrush
高对比度#1
高对比度#2: