Как обновить изображения при смене темы в uwp - PullRequest
0 голосов
/ 10 марта 2020

В соответствии с документами (https://docs.microsoft.com/en-us/windows/uwp/app-resources/images-tailored-for-scale-theme-contrast#updating -изображения-в-ответ-на-изменение-значения-квалификатора ) я должен использовать этот код:

    var qualifierValues = Windows.ApplicationModel.Resources.Core.ResourceContext.GetForCurrentView().QualifierValues;
    qualifierValues.MapChanged += new Windows.Foundation.Collections.MapChangedEventHandler<string, string>(QualifierValues_MapChanged);

для обновления изображения при изменении элементов классификатора. Однако, когда я меняю тему в настройках системы, это событие не запускается. Как я должен реагировать на изменения Темы?

1 Ответ

1 голос
/ 11 марта 2020

Класс Theme Listener из Windows Community Toolkit позволяет определять текущую тему приложения и может прослушивать изменения темы системы. Когда вы изменяете Системную тему в настройках, она вызывает событие ThemeChanged. Прежде чем использовать этот класс, вам необходимо добавить Microsoft.Toolkit.Uwp.UI Nuget. Более подробную информацию можно найти в этом документе .

public MainPage()
{
    this.InitializeComponent();

    var Listener = new ThemeListener();
    Listener.ThemeChanged += Listener_ThemeChanged;
}

private void Listener_ThemeChanged(ThemeListener sender)
{
    var theme = sender.CurrentTheme;
    //Update your images
}
.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...