//这是App.Xaml.cs中的代码
private void DetermineAppTheme()
{
bool value = true;
if (ApplicationData.Current.LocalSettings.Values.ContainsKey("IsLightTheme"))
{
value = ((bool)ApplicationData.Current.LocalSettings.Values["IsLightTheme"]);
}
if (value == true)
{
this.RequestedTheme = (ApplicationTheme)ElementTheme.Light;
}
else
{
this.RequestedTheme = (ApplicationTheme)ElementTheme.Dark;
}
}
这是我之前用于在Windows 8 / 8.1商店应用中更改颜色的代码,但遗憾的是,这不适用于Windows 10应用。
在我的设置页面中,我正在使用这些代码行更改主题的状态
ApplicationData.Current.LocalSettings.Values["IsLightTheme"] = false;
MessageDialog messageDialog = new MessageDialog("Please restart the Application so that Theme change can take place");
await messageDialog.ShowAsync();
为什么这不会将颜色从白色变为黑色,我不明白。如果在Windows 8应用程序上实现,这可以正常工作。
答案 0 :(得分:0)
我的猜测是,在你的App.xaml.cs文件中,你设置了value = true;然后if(value){//设置灯光主题}
如果值为false,则需要设置灯光主题。
答案 1 :(得分:0)
我自己找到了解决方案。首先
this.RequestedTheme = (ApplicationTheme)ElementTheme.Light;
必须更改为
this.RequestedTheme = (ApplicationTheme)ElementTheme.Default;
并且在app.xaml中必须删除请求的主题。然后这段代码将改变主题/