как сделать цвет темы windows MAUI

Я хочу, чтобы основная кнопка имела цвет, полученный из темы Windows. например, если тема Windows красная, мои кнопки такого же цвета. Спасибо.

1 ответ

Класс UISettings можно использовать для получения текущего системного цвета на платформе Windows, суть в том, как преобразовать Windows.UI.Colorк Microsoft.Maui.Graphics.Color.

Образец кода

      #if WINDOWS
    var uiSettings = new Windows.UI.ViewManagement.UISettings();
    var color = uiSettings.GetColorValue(UIColorType.Accent);

    //change button color with system theme color
    button.BackgroundColor = Microsoft.Maui.Graphics.Color.Parse(color.ToString());
#endif

И если вы хотите динамически менять цвет в соответствии с системной темой, взгляните на событие Application.Current.RequestedThemeChanged , которое используется для обнаружения изменения системной темы.

Примечание . Следующее событие запускается только при переключении между светлой/темной темой.

Образец кода

      Application.Current.RequestedThemeChanged += (s, a) =>
{
#if WINDOWS
    var uiSettings = new Windows.UI.ViewManagement.UISettings();
    var color = uiSettings.GetColorValue(UIColorType.Accent);

    //change button color with system theme color
    button.BackgroundColor = Microsoft.Maui.Graphics.Color.Parse(color.ToString());
#endif
};
Другие вопросы по тегам