我正在开发一个UWP应用程序,我正在使用template10。我有两个图像,一个是白色,另一个是黑色。我希望在浅色主题中显示黑色图像,在黑暗主题中显示白色图像。我有这段代码:
if (this.RequestedTheme == ElementTheme.Light)
Image.Source = new BitmapImage(new Uri("ms-appx:///Assets/BlackImage.png"));
else
Image.Source = new BitmapImage(new Uri("ms-appx:///Assets/WhiteImage.png"));
但是,当我选择光主题图像时,不要出现!但是当我选择黑暗主题时,会出现白色图像。
答案 0 :(得分:0)
如果我们未将ElementTheme.Light
或ElementTheme.Dark
设置为FrameworkElement.RequestedTheme
,则会始终返回ElementTheme.Default
。因此,无论ApplicationTheme
是Light
,您的图片都会设置为WhiteImage。
应用中的RequestedTheme
,可以获取或设置一个值,用于确定应用整体主题的明暗偏好。它返回枚举的ApplicationTheme
。它包括Light
和Dark
。我们应该能够使用App.Current.RequestedTheme
来获取应用的当前ApplicationTheme
。
例如:
var AppRequestedTheme = App.Current.RequestedTheme.ToString();
if (AppRequestedTheme == "Light")
Image.Source = new BitmapImage(new Uri("ms-appx:///Assets/BlackImage.png"));
else
Image.Source = new BitmapImage(new Uri("ms-appx:///Assets/WhiteImage.png"));