Windows 8主题颜色 - 以编程方式访问它

Dea*_*alk 12 xaml windows-8 windows-runtime winrt-xaml windows-store-apps

在Windows 8消费者预览中,您可以个性化您的体验,包括设置"背景颜色",然后将其用作选定图块,应用栏等的背景.因此,选择橙色将意味着在Windows 8 Metro UI中可以看到橙色重音.

我目前正在创作一些自定义控件,我想在我的样式中访问这种颜色,因此当用户更改颜色时,我的应用程序重音会相应地重新着色.

在XAML中找不到这种颜色的方法.期望您可以引用系统级动态画笔或颜色资源似乎是合理的.

有没有人有任何想法?

Fil*_*kun 7

基于MSDN 上的这个主题(开始屏幕背景作为我的地铁应用程序背景) - 这是不可用的.

如果MSDN线程消失,该站点暂时不可用,或者Microsoft移动目录结构并在整个地方留下孤立链接:那里的相关答案来自微软员工Rob Kaplan说:

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

因此,它可以被解释为官方响应,此功能不可用.


小智 5

艾伦,

虽然我同意你的看法,如果你计划复杂的图形叠加,"品牌"概念很有意义,使用操作系统提供的静态主题画笔获取Windows Phone上可用的基本主题颜色是更好的选择.您应用中的基色主题.用户选择了该颜色,因为他们发现它令人赏心悦目.更重要的是,某些用户可能对一种或多种颜色色盲,并选择了最佳选项来增强可读性和可访问性.

使用标准配色方案可以让您保持在明/暗主题内,并满足许多公司所需的可访问性标准,适用于视障人士.

SDK还处于初期阶段,有可能这个重要功能已被排除在当前实现之外,因为它尚未准备好发布SDK(颜色可能尚未最终确定或某些设备上的主题兼容性仍然存在正在开发中).

通过添加/减去值来获取当前主题颜色,从现有的主题画笔(如ProgressBarForegroundThemeBrush)中获取主题颜色并不太难.

我的建议是尽可能坚持主题样式,以确保无论操作系统如何变化,您的应用程序都将保持最新状态.

自2010年5月以来,我一直是Windows Phone程序员.