Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Реклама

Windows presentation foundation with - MacDonald M.

MacDonald M. Windows presentation foundation with — Вильямс , 2008. — 928 c.
ISBN 978-5-8459-1429-3
Скачать (прямая ссылка): wpfwindowspresente2008.pdf
Предыдущая << 1 .. 87 88 89 90 91 92 < 93 > 94 95 96 97 98 99 .. 473 >> Следующая

Book_Pro_WPF-2.mdb 188 19.05.2008 18:09:59
Классические элементы управления
189
Вы можете также сделать цвет частично прозрачным, используя значение альфа-канала и вызывая метод Со1ог.ЕгошАгдЪ(). Значение альфа-канала, равное 255, соответствует полностью непрозрачном цвету, а значение 0 — полностью прозрачному.
RGB и scRGB
Стандарт RGB полезен, поскольку применяется во многих других программах. Так, например, вы можете получить RGB-значение цвета в программе для рисования и использовать этот же цвет в WPF-приложении. Однако не исключено, что другие устройства (например, принтеры) могут поддерживать более широкий диапазон цветов. По этой причине был создан альтернативный стандарт scRGB, в котором каждый компонент цвета (альфа-канал, красный, зеленый и синий) представлен с помощью 64-битных значений.
Структура цветов WPF поддерживает оба подхода. Она включает как набор стандартных свойств RGB (A, R, G и B), так и набор свойств scRGB (ScA, ScR, ScG и ScB). Эти свойства связаны между собой, поэтому если вы зададите свойство R, то соответственным образом изменится и свойство ScR. Взаимосвязь между значениями RGB и значениями scRGB не является линейной. Значение 0 в системе RGB соответствует значению 0 в scRGB, 255 в RGB соответствует 1 в scRGB, а все значения в диапазоне 0-255 в RGB представлены как десятичные значения в диапазоне 0-1 в scRGB.
Установка цветов в XAML
Когда вы задаете цвет фона или переднего плана в XAML, вы можете воспользоваться сокращением. Вместо того чтобы определять объект Brush, вы можете задать наименование или значение цвета. Синтаксический анализатор WPF автоматически создаст объект SolidColorBrush с использованием выбранного вами цвета, и будет применять этот объект для фона или переднего плана. Ниже показан пример, в котором используется имя цвета.
<Button Background="Red">A Button</Button>
Он эквивалентен следующему синтаксису:
<Button>A Button <Button.Background>
<SolidColorBrush Color="Red" />
</Button.Background>
</Button>
Если вы решите создать другой тип кисти (например, LinearGradientBrush), вам нужно будет применять более длинную форму и использовать ее для рисования фона.
Если необходим код цвета, придется пользоваться менее удобным синтаксисом, в котором значения R, G и B представляются в шестнадцатеричном формате. Доступны два формата: #rrggbb или #aarrggbb (они отличаются тем, что последний формат содержит значение альфа-канала). Чтобы задать значения A, R, G и B, вам понадобятся только две цифры, поскольку все они представляются в шестнадцатеричной форме. Ниже показан пример, который создает тот же цвет, что и в предыдущем фрагменте кода, с помощью записи #aarrggbb:
<Button Background="#FFFF0000">A Button</Button>
Здесь значением альфа-канала является FF (255), значением красной составляющей — FF (255), а значениями зеленой и синей — 0.
Book_Pro_WPF-2.mdb 189 19.05.2008 18:09:59
190 Глава 7
На заметку! Кисти поддерживают автоматическое уведомление об изменениях. То есть, если вы присоединяете кисть к элементу управления и изменяете ее, элемент управления обновляет себя соответствующим образом. Этот механизм работает благодаря тому, что кисти являются потомками класса System.Windows. Freezable. Название этого класса объясняется тем, что все “замораживаемые” (freezable) объекты имеют два состояния — состояние, при котором они доступны для чтения, и состояние, при котором они доступны только для чтения (“замороженное” состояние).
Свойства Background и Foreground не являются единственными свойствами, которые вы можете определять для кисти. Вы можете также нарисовать рамку вокруг элементов управления (и некоторые другие элементы вроде Border) с помощью свойств BorderBrush и BorderThickness. Свойство BorderBrush принимает выбранную вами кисть, а свойство BorderThickness принимает ширину рамки в единицах, не зависящих от устройства. Прежде чем вы сможете увидеть рамку, вы должны будете установить оба свойства.
На заметку! Некоторые элементы управления не поддерживают использование свойств BorderBrush и BorderThickness. Объект Button игнорирует их полностью, поскольку определяет свой фон и рамку с помощью декоратора ButtonChrome. Тем не менее, вы можете придать кнопке новый облик (с выбранной вами рамкой) с помощью шаблонов, о которых речь пойдет в главе 15.
Прозрачность
В отличие от Windows Forms, в WPF поддерживается истинная прозрачность. Это означает, что если вы расположите несколько элементов один поверх другого и зададите для каждого из них различную степень прозрачности, то увидите в точности то, что и можно ожидать. Если же говорить проще, то эта возможность дает возможность создать графический фон, который будет “просматриваться сквозь” элементы, расположенные на нем. При наличии необходимых навыков эта особенность позволит создавать многослойные анимационные объекты и другие эффекты, создание которых в других средах может оказаться чрезвычайно проблематичным.
Сделать элемент прозрачным можно двумя способами.
• С помощью свойства Opacity. Свойство Opacity (непрозрачность) — это дробное значение в диапазоне 0..1, где 1 соответствует полностью непрозрачному цвету, а 0 — полностью прозрачному. Свойство Opacity определяется в классе UIElement (а также в базовом классе Brush), поэтому его можно применять ко всем элементам.
Предыдущая << 1 .. 87 88 89 90 91 92 < 93 > 94 95 96 97 98 99 .. 473 >> Следующая