为我的应用实现颜色主题

时间:2013-09-03 06:19:43

标签: windows-phone-8 themes

我正在开发一个WP8应用程序,我想知道为我的应用程序实现颜色主题的正确方法是什么。

目前,我正在更改手机的主题资源here,但我想知道,这是否有任何我应该知道的副作用?

例如:如果我更改PhoneBackgroundBrush的颜色,那是否意味着我会更改每个应用和手机本身的bg颜色?或者,更改是否仅适用于当前应用程序范围?

我改变了主题资源:

(App.Current.Resources["PhoneBackgroundBrush"] as SolidColorBrush).Color = Colors.White;

2 个答案:

答案 0 :(得分:2)

想象一下,如果这些应用程序的单个实例在应用程序之间共享会产生一些后果,那么你可以用类似的东西做一些真正的破坏......

您只是更改当前应用的资源。你是沙盒和安全的

答案 1 :(得分:1)

您使用的代码

(App.Current.Resources["PhoneBackgroundBrush"] as SolidColorBrush).Color = Colors.White;

将更改应用的页面和控件的默认颜色。不是任何其他应用程序。

这些设置在激活时会应用于应用程序。因此,默认情况下,每个应用都有一个PhoneBackgroundBrush,这是电话的默认主题。

但是,如果您的应用包含多个不同颜色的网页,那么通过单独的网格

总是有利的
<Grid x:Name="LayoutRoot" Background="Red"></Grid>

随着提供

App.Current.Resources["PhoneBackgroundBrush"] as SolidColorBrush).Color = Colors.White

对于常见的应用程序背景颜色:)

Themes for windows phone

中提到的所有属性

适用于特定应用。您可以从中选择以下任何一种全局应用程序背景颜色/主题。