Windows Phone 8.1:更改手机主题更改的背景(Application.Current.Resources为空)

Bal*_*int 2 c# themes windows-phone-8.1

我想在我的应用程序中检测主题更改,以便我可以相应地更改背景图像.遗憾的是包含了WP7的例子

(Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"] ==
Visibility.Visible
Run Code Online (Sandbox Code Playgroud)

抛出异常说:

mscorlib.ni.dll中出现"System.Runtime.InteropServices.COMException"类型的异常,但未在用户代码WinRT信息中处理:
无法找到具有给定键的资源.
附加信息:未指定的错误

在调试时,事实证明Application.Current.Resources有0个元素.

我会很高兴,如果事实证明我弄乱了一些东西,但是在运行WP7示例(在WP8.1项目中),这里找到:如何为Windows Phone应用主题资源,它导致了与以前相同的异常.
有谁知道我的问题的WP8.1解决方案?:)

附加信息:
我尝试在OnNavigatedTo部分,页面构造函数中使用上面提到的代码,甚至尝试在按钮单击中使用它,但它们都产生了相同的结果.
在自动更改手机主题后,字体颜色等其他内容实际上会发生变化.

Muh*_*lah 6

如果您使用的是Windows Phone 8.1(不是Windows Phone 8.1 silverlight),请使用以下代码

if (App.Current.RequestedTheme == ApplicationTheme.Dark)
       {}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助