窗口标题文字颜色的themeResource是什么?

时间:2016-07-01 19:08:13

标签: c# uwp

此标题栏文字颜色在黑白之间变化,具体取决于当前选择的系统颜色(较暗背景上的白色文字和较浅背景上的黑色文字)

enter image description here

该颜色的ThemeResource是什么?

我有一个background设置为SystemControlBackgroundAccentBrush的按钮,我希望根据当前选择的重音调整foreground(字体颜色)。

我尝试了SystemControlForegroundAccentBrush,但看起来这个和SystemControlBackgroundAccentBrush颜色相同(我在系统设置中没有改变任何内容)。

2 个答案:

答案 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

上找到完整列表