我在xamarin表单以及Android和iOS上使用,并且当电话使用深色主题时,都会更改以使用相同主题。但是,当我在UWP上运行应用程序时,xamarin表单始终可以使用Light主题。您能告诉我如何强制使用深色主题吗?我已经尝试像在本机UWP应用程序上一样在App.cs(UWP)的构造函数上手动设置了深色主题,但是已经设置好了,但是Xamarin表单继续使用Light主题。有想法吗?
复制步骤。
在UWP的App.cs的构造函数中,添加了以下行: “ RequestedTheme = Windows.UI.Xaml.ApplicationTheme.Dark;”
执行应用程序和:iOS菜单和状态栏为暗。 Android 10,菜单和状态栏为暗(已在realme上尝试过)。 Windows 10,菜单为白色。
谢谢
答案 0 :(得分:1)
如果要手动设置uwp主题,请在uwp客户端项目中调用以下方法。
public static class ThemeSelectorService
{
public static async Task SetRequestedThemeAsync(ElementTheme Theme)
{
foreach (var view in CoreApplication.Views)
{
await view.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
if (Window.Current.Content is FrameworkElement frameworkElement)
{
frameworkElement.RequestedTheme = Theme;
}
});
}
}
}
用法
ThemeSelectorService.SetRequestedThemeAsync(ElementTheme.Dark);