Windows Phone 8.1 Silverlight - 如何仅为应用程序禁用黑白主题

时间:2014-11-19 10:24:24

标签: xaml windows-phone-8 microsoft-metro

Windows Phone 8中的

- 我们有2种主题,黑色和白色,

根据这个主题,在我们的应用程序中,所有控件背景和所有属性都在变化..

我的问题是 - 我正在开发的应用程序是独立于主题的,我想要两种主题颜色相同的外观和感觉,无论是黑色还是白色。

我正在尝试的是为所有属性设置颜色 - 例如,背景,前景等

BorderBrush="{StaticResource WhiteSolidColorBrush}" Foreground="{StaticResource WhiteSolidColorBrush}"

这是问同样的问题,但我无法申请Windows Phone 8.1 sliverlight- Windows phone 8 How to be always on one theme even if phone's theme changed

怎么可能?

2 个答案:

答案 0 :(得分:3)

Silverlight 8.1中有两个选项:

<强> 1

就像Chris W.指出的那样,JeffWilcox主题经理在运行时覆盖了主题资源(不幸的是,在Xaml中无法做到这一点)。

您可以将VS中的Designer设置为您喜欢的主题。

<强> 2

另一种方法是覆盖您使用的控件的默认样式。只需复制您使用的每个控件的默认样式,然后更改模板中的颜色资源。

您可以通过在编辑器中创建副本来访问模板(在大纲中选择控件,单击编辑模板&gt; 编辑副本,或者找到它们直接在SDK文件夹中:

C:\ Program Files(x86)\ Microsoft SDKs \ Windows Phone \ v8.1 \ Design \ System.Windows.xaml

我个人更喜欢第二种方法。这听起来像很多工作,但你实际上并没有使用这么多的控​​件。最近在一个大的应用程序结束时使用它最终只覆盖了11个控件模板(并且大多只是改变颜色和字体大小)。

答案 1 :(得分:2)

虽然我不确定你和@JeffWilcox主题经理有什么问题,因为它看起来很酷很强大。仍然总是可以明确地为您的应用程序覆盖这些资源(这看起来像他的主题管理器只是提供了一种更简单的方法。)

对于Windows Phone 8.1 silverlight in the docs,您可以找到与此相关的所有内容,而实现您需要的内容的过程非常简单。