我正在开发一个WP8应用程序,我想知道为我的应用程序实现颜色主题的正确方法是什么。
目前,我正在更改手机的主题资源here,但我想知道,这是否有任何我应该知道的副作用?
例如:如果我更改PhoneBackgroundBrush
的颜色,那是否意味着我会更改每个应用和手机本身的bg颜色?或者,更改是否仅适用于当前应用程序范围?
我改变了主题资源:
(App.Current.Resources["PhoneBackgroundBrush"] as SolidColorBrush).Color = Colors.White;
答案 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
对于常见的应用程序背景颜色:)
中提到的所有属性适用于特定应用。您可以从中选择以下任何一种全局应用程序背景颜色/主题。