我想在我的应用程序中检测主题更改,以便我可以相应地更改背景图像。 遗憾的是包含
的WP7示例(Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"] ==
Visibility.Visible
抛出异常说:
类型' System.Runtime.InteropServices.COMException'的例外情况 发生在mscorlib.ni.dll但未在用户代码WinRT中处理 信息:
无法找到具有给定密钥的资源。
附加 信息:未指定的错误
在调试时,事实证明Application.Current.Resources有0个元素。
如果事实证明我弄乱了一些东西,我会非常高兴,但是在运行WP7示例(在WP8.1项目中)中找到:How to apply theme resources for Windows Phone它导致了与之前相同的异常。
有谁知道我的问题的WP8.1解决方案? :)
其他信息:
我尝试在OnNavigatedTo部分,页面构造函数中使用上面提到的代码,甚至尝试在按钮单击中使用它,但它们都产生了相同的结果。
在自动更改手机主题后,字体颜色等其他内容实际上会发生变化。
答案 0 :(得分:6)
如果您使用的是Windows Phone 8.1(不是Windows Phone 8.1 silverlight),请使用以下代码
if (App.Current.RequestedTheme == ApplicationTheme.Dark)
{}
希望这会有所帮助