Цвет темы Windows 8 - доступ к нему программно

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

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

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

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

3 ответа

Решение

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

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

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

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

Алан,

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

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

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

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

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

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

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

Другие вопросы по тегам