#wpf #colors #taskdialog
#wpf #Цвет #taskdialog
Вопрос:
TaskDialog в Windows7 имеет синий текст основной инструкции вверху. Есть ли способ получить этот цвет в качестве значения кисти в WPF?
Комментарии:
1. Как насчет передовых технологий, таких как пипетка в mspaint?
2. @H.B. Обычно это приводит к неправильному значению из-за сглаживания и смешивания.
3. @Josh Einstein: Шрифт довольно крупный, хотя в нем можно найти сплошной пиксель.
4. @H.B. это даст вам только приблизительную оценку цвета в вашей текущей системе. Это будет полностью отличаться от других цветов темы, высококонтрастных тем и т.д. Не кодируйте цвета жестко, но старайтесь по возможности получать их из фреймворка / операционной системы.
Ответ №1:
На самом деле эти цвета определены в Руководстве по взаимодействию с пользователем Windows. Насколько я знаю, они недоступны как именованные системные цвета, но в руководстве явно перечислены цвета RGB и размеры шрифта для различных текстовых элементов.
Ответ №2:
Я писал об этом здесь:http://blog .quppa.net/2011/04/30/windows-theme-fonts /
Короче говоря, нет, в WPF нет поддержки для получения размера шрифта / цвета / и т.д. Частей темы, Но есть в Win32 с функциями GetThemeFont и GetThemeColor. Однако это будет работать только тогда, когда включены визуальные стили, и вам потребуется жестко запрограммировать резервные значения при использовании Windows Classic или высококонтрастных тем. В случае текста «Основной инструкции» следует использовать шрифт подписи (к счастью, это доступно через WPF).
Комментарии:
1. Я опубликовал несколько примеров кода WPF здесь: blog. quppa.net/2011/10/24/windows-theme-fonts-redux-sample-code