我在我的应用程序中使用以下代码来检测手机的主题并相应地设置图标。但是当我将我的应用程序放到后台然后更改手机的主题后,将应用程序检索到前台,未检测到主题更改。如何检测主题的变化。
这是我的代码:
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
DarkThemeVisibility = (Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"];
LightThemeVisibility = (Visibility)Application.Current.Resources["PhoneLightThemeVisibility"];
}
答案 0 :(得分:1)
当您更改主题并返回到应用程序时,您会注意到唯一改变颜色的是应用程序栏。在重新启动应用程序之前,应用程序主题实际上没有更改(这是因为应用程序资源是在应用程序启动时加载的)因此我认为在这种情况下您不需要更改任何图标(因为应用程序的颜色没有更改) )。
如果您要更改的图标是按钮应用栏的图标,则您也不需要,通常您的应用栏图标应为use a white foreground on a transparent background,并且它们将根据主题自动着色。