12

在Windows 8消费者预览中,您可以个性化您的体验,包括设置“背景颜色”,然后将其用作所选瓷砖,应用栏等的背景。橙色重音在Windows 8 Metro用户界面中可见。Windows 8主题颜色 - 以编程方式访问

我目前正在创作一些自定义的控制,我想有机会获得这种颜色在我的风格,所以在用户改变颜色,所以我的应用程序口音重新着色相应。

我找不到在我的XAML中获取此颜色的方法。预计您可以参考的系统级动态画笔或颜色资源似乎是合理的。

有没有人有任何想法?

回答

7

基于MSDN上的this thread (Start Screen background as my metro apps background) - 这不可用。

万一MSDN线程消失,该网站暂时无法访问,或Microsoft四处移动的目录结构和叶孤儿所有的地方链接:相关的答案,从微软员工Rob Kaplan,说:

Metro风格应用程序无法查询开始屏幕背景颜色。

所以它可以被解释为官方回应,该功能是不可用的。

+1

+1。不幸的是,鉴于WP7可以让你获得用户口音的颜色。 – Alan 2012-04-10 23:13:09

+1

我认为对于大多数应用程序来说,最好定义独立于操作系统的主题。一次更简单 - 你不必担心你的应用设计支持多个主题,包括检查主题是什么,并提供符合每个主题的资产。想象一下,您需要提供图标或背景,以便与所有可能的主题以及未来可能尚未用于测试的主题配合良好。另外 - 这可能是更好的品牌应用程序。然后,也许微软不希望人们认为你的应用程序是操作系统的一部分... – 2012-04-11 15:25:48

+0

但仍然没有[在Windows 8.1中提供]“对不起,这不是UI框架中可以访问的颜色。”,每个程序经理Tim Heuer ,UI平台](http://social.msdn.microsoft.com/Forums/en-US/9a200123-45cd-4f14-8ab7-f997e0534495/using-windows-accent-color?forum=w81prevwCsharp) – 2014-06-13 08:38:19

5

艾伦,

虽然我同意你的观点是,“品牌”概念使得如果你正计划在复杂的图形叠加,得到了基本主题颜色可以使用一个静态主题的Windows Phone感好由操作系统提供的刷子是您的应用中基本颜色主题的更好选择。用户选择了这种颜色是因为他们觉得它很悦目。更重要的是,某些用户可能会对一种或多种颜色进行色盲,并已选择最佳选项来提高可读性和可访问性。

有准入标准配色方案可以让你留在亮/暗主题范围内,并符合对于那些有视觉障碍的所有程序,许多公司所需的无障碍标准。

SDK处于起步阶段,有可能这个重要特性已经被排除在当前实现之外,因为它尚未准备好发布SDK(颜色可能尚未完成或主题的兼容性某些设备仍在开发中)。

从现有的主题画笔中派生出主题颜色并不难,例如ProgressBarForegroundThemeBrush通过添加/减去值来获取当前主题颜色。

我的建议是尽可能地坚持主题样式,以确保您的应用程序保持最新状态,而不管操作系统发生什么变化。

自2010年5月

2

有在了UxTheme.dll一些无证的API,检索主题颜色我一直是Windows Phone的程序员。如果您使用这些函数并将您的应用程序提交到Windows应用商店,它将会失败认证,并且通常依赖无证函数依然是一个坏主意。不过,对于那些有兴趣获得这些值的人,I wrote about the process

+0

此外,我做了一个[参考表](http://www.quppa.net/win8col/)在Windows 8中找到的主题颜色。 – Quppa 2013-01-01 17:10:02