0

我在我的应用程序中使用以下代码来检测手机的主题并相应地设置图标。但是当我把我的应用程序放到后台然后更改手机的主题稍后将应用程序检索到前台时,没有检测到主题更改。如何检测主题的变化。

这是我的代码:

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
   DarkThemeVisibility = (Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"];
   LightThemeVisibility = (Visibility)Application.Current.Resources["PhoneLightThemeVisibility"];
}
4

1 回答 1

1

当您更改主题并返回您的应用程序时,您会注意到唯一改变颜色的是应用程序栏。在您重新启动应用程序之前,应用程序主题实际上并没有改变(这是因为应用程序资源是在应用程序启动时加载的)所以我认为在这种情况下您不需要更改任何图标(因为您的应用程序的颜色没有改变)。
如果您要更改的图标是按钮应用栏的图标,则您也不需要更改,通常您的应用栏图标应在透明背景上使用白色前景,并且它们将根据主题自动着色。

于 2013-10-03T14:02:21.907 回答