Цвет темы Windows 8 - доступ к нему программно - PullRequest
12 голосов
/ 22 марта 2012

В Windows 8 потребительский предварительный просмотр вы можете персонализировать свой опыт, в том числе установить «цвет фона», который затем также используется в качестве фона для выбранных плиток, панели приложения и т. Д. Поэтому выбор оранжевого цвета будет означать, что оранжевые акценты видны в Windows8 Metro UI.

В настоящее время я создаю несколько пользовательских элементов управления и хотел бы иметь доступ к этому цвету в своем стиле, чтобы пользователь менял цвет, чтобы акценты моих приложений соответствующим образом перекрашивались.

Я не могу найти способ получить этот цвет в моем XAML.Кажется разумным ожидать, что существует системная динамическая кисть или цветовой ресурс, на который вы могли бы ссылаться.

У кого-нибудь есть какие-нибудь идеи?

Ответы [ 3 ]

7 голосов
/ 22 марта 2012

На основе этой темы (фон экрана запуска в качестве фона моих приложений для метро) в MSDN - это недоступно.

В случае, если поток MSDN исчезает, сайт временно недоступен, или Microsoft перемещает структуру каталогов и оставляет повсеместно потерянные ссылки: Соответствующий ответ от сотрудника Microsoft Роб Каплан сказал :

Приложения в стиле Metro не могут запрашивать цвет фона начального экрана.

Таким образом, это может быть истолковано как официальный ответ, что эта функциональность недоступна.

5 голосов
/ 07 декабря 2012

Alan

Хотя я бы согласился с вами, что концепция «брендинга» имеет смысл, если вы планируете использовать сложные графические наложения, получение базового цвета темы, доступного на Windows Phone, с помощью кисти статической темы, предоставляемой ОС, является лучший выбор для базовых цветовых тем в вашем приложении. Пользователь выбрал этот цвет, потому что он находит его приятным для глаз. Еще важнее то, что некоторые пользователи могут быть дальтониками к одному или нескольким цветам и выбрали лучший вариант для улучшения читаемости и доступности.

Доступ к стандартной цветовой схеме позволяет вам оставаться в рамках светлой / темной темы и соответствовать стандартам доступности, требуемым многими корпорациями для всех программ для лиц с нарушениями зрения.

SDK находится в зачаточном состоянии, и, возможно, эта важная функция была исключена из текущей реализации, поскольку она не была готова к выпуску SDK (возможно, цвета не были завершены или совместимость темы в некоторых устройства все еще разрабатывались).

Нетрудно получить цвет темы из существующей кисти темы, такой как ProgressBarForegroundThemeBrush, путем добавления / вычитания значений для получения цвета текущей темы.

Мое предложение было бы придерживаться стилей темы как можно лучше, чтобы гарантировать, что ваше приложение будет оставаться актуальным независимо от изменений в операционной системе.

Я программист на Windows Phone с мая 2010 года.

2 голосов
/ 01 января 2013

В UxTheme.dll есть несколько недокументированных API, которые получают цвета темы. Если вы используете эти функции и отправляете свое приложение в Магазин Windows, оно не пройдет сертификацию, и в общем случае в любом случае полагаться на недокументированные функции - плохая идея. Тем не менее, для тех, кто заинтересован в получении этих значений, я написал о процессе .

...