Как установить темную тему на Xamarin Forms UWP? - PullRequest
0 голосов
/ 27 января 2020

Я использую на формах xamarin и Android и iOS, и оба, когда телефон использует темную тему, она меняется, чтобы использовать ту же тему. Но когда я запускаю приложение в UWP, формы xamarin всегда работают с темой Light. Подскажите, как заставить использовать темную тему? Я попытался вручную установить темную тему в конструкторе App.cs (UWP), как это делается в нативных приложениях UWP, но она настроена, но формы Xamarin продолжают работать с темой Light. Есть идеи?

Шаги для его воспроизведения.

  • Создание шаблона MasterDetail
  • В конструкторе App.cs UWP , добавили следующую строку: «RequestedTheme = Windows .UI.Xaml.ApplicationTheme.Dark;»

  • Запустите приложение и: iOS Меню и строка состояния не отображаются. Android 10, меню и строка состояния темные (пробовал в реальном). Windows 10, меню белое.

Спасибо

1 Ответ

1 голос
/ 28 января 2020

Если вы хотите установить тему 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...