Цвет темы 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, оно не пройдет сертификацию, и в общем случае в любом случае полагаться на недокументированные функции - плохая идея. Тем не менее, для тех, кто заинтересован в получении этих ценностей, я написал о процессе.