编辑:这是在Windows 7.1 RC下。 (此代码适用于7.0)
让我们说我们在黑暗的主题中打开应用程序。检测到这一点的代码行如下:
isDarkTheme = (Visibility.Visible == (Visibility)Application.Current.Resources[StringResource.PhoneDarkThemeVisbility]);
在这种情况下,isDarkTheme将是真的。 现在点击Windows键,将主题更改为浅色主题。并点击后退按钮返回到您的应用程序。再次运行以下代码行(在激活的事件中)
isDarkTheme = (Visibility.Visible == (Visibility)Application.Current.Resources[StringResource.PhoneDarkThemeVisbility]);
显然isDarkTheme仍然是真的,即使我们切换主题。有没有其他人遇到这个问题,或者我使用较旧的方式来检查当前的主题?
答案 0 :(得分:4)
这是一个已知问题。主题在启动时应用于您的应用程序,因此只有这样您才能正确检测是使用了浅色还是暗色设置。否则,您将无法使用旧主题,直到应用程序重新启动。
话虽如此,用户不太可能重现此行为。如果他从您的应用程序切换到手机设置,他可能不会通过后退按钮返回。