Windows Phone 主题概述
2012/2/9
http://msdn.microsoft.com/zh-cn/library/ff402557(v=vs.92).aspx
主题是一组资源,用于个性化 Windows Phone 上的可视元素。您可以根据相应的样式创建保留本地设备用户界面 (UI) 外观的应用程序。这些样式属性包含背景色和个性色。主题可以确保在 Windows Phone 设备间显示一致的控件和 UI 元素。
使用该功能,开发人员可以:
-
在代码中直接构建应用程序和访问主题属性。
-
显式更改主题属性值以便符合其自己的品牌要求。
Windows Phone 主题与 Silverlight 或 Windows Presentation Foundation (WPF) 中的主题完全无关。Windows Phone 主题是设备主题,而不是应用程序主题。 |
在 Windows Phone 设备上使用主题的优势是:一致性和兼容性。开发人员可以使用默认的控件设置,而无需调整通用属性(例如,颜色),因为他们知道这些样式将在运行时修改。当在 Windows Phone 上运行应用程序时,主题系统将对应用程序的视觉效果进行相应的修改。此外,开发人员还可以在应用程序级别重写主题。例如,生成具有强烈品牌色彩的应用程序的公司可能要保留给定的颜色。开发人员可以提供其自己的资源并重写任何主题属性。但是,他们无法关闭主题。
当开发应用程序时,应考虑 Windows Phone 商城技术认证要求,这一点非常重要。有关与主题相关的要求,请参阅技术认证要求中的 5.5 一节。 |
支持的主题
Windows Phone 主题是背景色与个性色的组合。背景色是背景的颜色,个性色是应用于控件和其他可视元素的颜色。有两种背景选项可供使用(深色和浅色),另外共有 10 种标准个性色可用于您的应用程序。
下表列出了 10 种标准个性色及其以红色、绿色、蓝色 (RGB) 值和十六进制 (Hex) 值表示的相应颜色值。
个性色 | RGB | Hex | 示例 |
---|---|---|---|
蓝色 | 27,161,226 | #FF1BA1E2 | ![]() |
褐色 | 160,80,0 | #FFA05000 | ![]() |
绿色 | 51,153,51 | #FF339933 | ![]() |
浅绿色 | 162,193,57 | #FFA2C139 | ![]() |
洋红 | 216,0,115 | #FFD80073 | ![]() |
芒果色(橙色) | 240,150,9 | #FFF09609 | ![]() |
粉红 | 230,113,184 | #FFE671B8 | ![]() |
紫色 | 162,0,255 | #FFA200FF | ![]() |
红色 | 229,20,0 | #FFE51400 | ![]() |
青色(铬绿) | 0,171,169 | #FF00ABA9 | ![]() |
浅绿色和洋红个性色的值已在 Windows Phone OS 7.1 中更改。在 Windows Phone OS 7.0 中,浅绿色和洋红个性色分别为 #FF8CBF26 和 #FFFF0097。在 Windows Phone OS 7.1 中,浅绿色和洋红个性色分别为 #FFA2C139 和 #FFD80073。 |
此外,还存在移动运营商和硬件制造商可能向手机添加的第十一种个性色。您的应用程序应注意到这个额外颜色而不是假定整体系统的个性色只有十种。例如,请不要使用代码检查 10 种标准个性色,然后执行特定操作。如果存在第十一种颜色,则可能会中断您的代码。
何时选择其他主题
点按“主题”可在“设置”应用程序中指定主题。当用户启动主题时,更改将应用于整个系统和应用程序。当选择其他主题时,仅会更改应用程序中与主题相关的颜色。字体或控件大小等其他元素均不会随之动态更改。但是,您可以使用其他 Windows Phone 主题资源来更改字体和字体大小等属性。
如果在选择其他主题时,您的应用程序处于休眠状态,则在下次启动主题之后,应用程序才会适应新主题。 |
下图演示了一个应用各种不同主题的应用程序。
![AP_Con_AppTheme AP_Con_AppTheme](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
在上图中的各个图片中,分别在切换“深色”和“浅色”两种背景的情况下突出显示了一个应用程序。同时,分别启用了褐色、蓝色和紫色个性色。
主题资源文件
根据最终用户选择的个性色和背景色,主题资源将显示不同的控件颜色、画笔和样式。这些差异在名为 ThemeResources.xaml 的主题资源文件中指定。每个个性色和背景色组合都有一个不同的资源文件。有关受主题影响的各种资源的列表,请参阅 Windows Phone 主题资源。
主题资源文件可在以下路径中找到:
-
64 位操作系统:C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Design
-
32 位操作系统:C:\Program Files\Microsoft SDKs\Windows Phone\v7.1\Design
这些路径假定采用的是以默认方式安装的 Visual Studio。若您将其安装在其他位置,请在相应的位置查找主题资源文件。 |
实现
对于您的应用程序,将使用资源和资源字典实现主题。可以在启动应用程序时将这些资源插入到运行时。可以在设计器中使用控件属性或使用 {StaticResource} 标记扩展通过 XAML 应用它们。后者通过计算对已定义资源的引用来为任何 XAML 属性 (Property) 的属性 (Attribute) 提供值。有关不同 Windows Phone 主题资源以及如何在应用程序中配置这些资源的更多信息,请参阅以下主题: