определённый ThemeResource от элемента, которому явно задан RequestedTheme? Ставлю в настройках устройства тёмную тему, в приложении явно элементу задаю RequestedTheme.Light. Визуально цвета меняются с тёмных на светлые, но когда я пытаюсь ((SolidColorBrushs)Resources["SystemChromeLowColor"]).Color, например, я стабильно получаю тёмный цвет вместо светлого. Судя по всему, при получении он заглядывает в глобальный Application.Resources, который знать не знает, что у какого-то-там элемента RequestedTheme другой стоит. Есть ли возможность заставить его заглянуть в словарь ресурсов, который использует конкретный UI элемент, а не приложение?
Есть ещё мысоль использовать switch, чтобы на основе RequestedTheme заглядывать в определённые темные словари Application.Resources. Но чото с бубном пока неудачно танцуется, запросы к темным словарям Application выдают Unknown error. Ну и это какой-то неэлегантный способ, может быть всё-таки есть чего-то дефолтное и попроще?
Поясню, такая, возможно, странная задача возникла ради прикручивания возможности смены темы UWP приложения пользователем независимо от системных настроек. Цвет темы надо получить, чтобы покрасить Windows.UI.ViewManagement.StatusBar. (это системный трей наверху мобильного устройства — маленького планшета или телефона). Обычный Resources["SystemBlahColor"] возвращает цвет из системных настроек, а нужно из настроек RequestedTheme.
что тебе конкретно нужно в итоге сделать? не очень пойму кейс зачем такое делать
а так? https://stackoverflow.com/questions/35573255/get-uwp-theme-colors-in-c-sharp-code
Обсуждают сегодня