gpt4 book ai didi

c# - 如何访问当前的主题颜色?

转载 作者:行者123 更新时间:2023-11-30 12:29:15 25 4
gpt4 key购买 nike

我有一个 Windows Phone 8 应用程序,它在 WebBrowser 控件中呈现一些 HTML(来自 RSS/Atom 提要)。为了使这个 HTML 看起来更原生,我通过一个简单的 mobilizer 运行它,通过重写 HTML 结构和设置一些 CSS 使布局、字体、图像等看起来更原生。

这很好用。但是,我想确保 mobilizer 生成的 CSS 将用户当前主题的颜色应用于背景、文本、链接等。虽然我可以在 XAML 文档中应用主题颜色,但我还没有找到一种方法来从 C# 获取这些颜色。这可能吗?如果是,怎么办?

最佳答案

您可以获得如图所示的强调色here .

// Determine the accent color.
Color currentAccentColorHex = (Color)Application.Current.Resources["PhoneAccentColor"];

这不是获取颜色名称的最漂亮方法,如果这是您想要的,但您可以使用与 WP7 和 WP8 兼容的方法。

string currentAccentColor = "";

switch (currentAccentColorHex.ToString())
{
case "#FF1BA1E2": currentAccentColor = "blue"; break;
case "#FFA05000": currentAccentColor = "brown"; break;
case "#FF339933": currentAccentColor = "green"; break;
case "#FFE671B8": currentAccentColor = "pink"; break;
case "#FFA200FF": currentAccentColor = "purple"; break;
case "#FFE51400": currentAccentColor = "red"; break;
case "#FF00ABA9": currentAccentColor = "teal (viridian)"; break;

// Lime changed to #FFA2C139 in Windows Phone OS 7.1.
case "#FF8CBF26":
case "#FFA2C139": currentAccentColor = "lime"; break;

// Magenta changed to # FFD80073 in Windows Phone OS 7.1.
case "#FFFF0097":
case "#FFD80073": currentAccentColor = "magenta"; break;

// #FFF9609 (previously orange) is named mango in Windows Phone OS 7.1.
case "#FFF09609": currentAccentColor = "mango (orange)"; break;

// Mobile operator or hardware manufacturer color
default: currentAccentColor = "custom eleventh color"; break;
}

// Write the current accent color.
textBlock2.Text = "accent color = " + currentAccentColor;

关于c# - 如何访问当前的主题颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18967796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com