我想检测我的应用程序中的主题更改,以便我可以相应地更改背景图像。 遗憾的是 WP7 示例包含
(Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"] ==
Visibility.Visible
抛出异常:
An exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.ni.dll but was not handled in user code WinRT information:
Cannot find a resource with the given key.
Additional information: Unspecified error
调试时发现 Application.Current.Resources 有 0 个元素。
如果结果证明我搞砸了一些东西,但在运行此处找到的 WP7 示例(在 WP8.1 项目中)时,我会非常高兴:How to apply theme resources for Windows Phone它导致了与之前相同的异常。
有谁知道 WP8.1 解决我的问题吗? :)
其他信息:
我尝试在 OnNavigedTo 部分、页面构造函数中使用上述代码,甚至尝试在按钮单击中使用它,但它们都产生了相同的结果。
自动更改手机主题后,其他内容(例如字体颜色)实际上会发生变化。
最佳答案
如果您使用的是 Windows Phone 8.1(不是 Windows Phone 8.1 silverlight),请使用以下代码
if (App.Current.RequestedTheme == ApplicationTheme.Dark)
{}
希望这有帮助
关于c# - Windows Phone 8.1 : Change background on phone theme change (Application. 当前.资源为空),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24014795/