此标题栏文字颜色在黑白之间变化,具体取决于当前选择的系统颜色(较暗背景上的白色文字和较浅背景上的黑色文字)
该颜色的ThemeResource
是什么?
我有一个background
设置为SystemControlBackgroundAccentBrush
的按钮,我希望根据当前选择的重音调整foreground
(字体颜色)。
我尝试了SystemControlForegroundAccentBrush
,但看起来这个和SystemControlBackgroundAccentBrush
颜色相同(我在系统设置中没有改变任何内容)。
答案 0 :(得分:0)
没有一个刷子可以解决问题。
避免使用强调色作为背景,尤其是文字和图标。由于重音颜色可以更改,如果必须将其用作背景,则必须执行一些额外的工作以确保前景文本易于阅读。 (来源:UWP Style Guide)
基于他们建议在文档中使用的示例算法,这应该可以解决问题:
private void UpdateAccentColorForeground(FrameworkElement element)
{
var uiSettings = new UISettings();
Color c = uiSettings.GetColorValue(UIColorType.Accent);
element.RequestedTheme = ((5 * c.G + 2 * c.R + c.B) <= 8 * 128)
? ElementTheme.Light
: ElementTheme.Dark;
}
答案 1 :(得分:-1)
我认为你要找的是SystemColorWindowTextColor
。这将链接到文本的当前系统前景色。
您可以在MSDN site here
上找到完整列表