ОКНА С ПРОИЗВОЛЬНОЙ ФОРМОЙ ПОДГОТОВИЛА НИКИТИНА АННА УЧАЩАЯСЯ ГРУППЫ IC ПРОВЕРИЛА СМУК Н. К.
ОКНА НЕОБЫЧНОЙ ФОРМЫ Окна необычной формы часто являются товарным знаком современных прикладных приложений вроде редакторов фотографий, программ для создания кинофильмов и МРЗ - проигрывателей ; скорее всего, они будут встречаться в WPF- приложениях даже более часто. В создании базового приложения нестандартной формы в WPF нет ничего сложного. Однако создание привлекательного профессионально выглядящего окна необычной формы требует немалых усилий и, нередко, привлечения талантливого дизайнера графики для создания эскизов и фоновой графики.
СОЗДАНИЕ ОКНА НЕСТАНДАРТНОЙ ФОРМЫ Базовая процедура для создания окна нестандартной формы подразумевает выполнение следующих шагов : Установите для свойства Window.AllowsTransparency значение true. Установите для свойства Window.WindowStyle значение None, чтобы скрыть не клиентскую область окна ( рамку голубого цвета ). Если этого не сделать, при попытке показать окно появится ошибка InvalidOperationException. Установите для фона ( свойства Background) прозрачный цвет ( цвет Transparent, значение альфа - канала которого равно нулю ). Или же сделайте так, чтобы для фона использовалось изображение, имеющее прозрачные области ( с нулевым значением альфа - канала ).
ШАГ 1 Эти три шага эффективно удаляют стандартный внешний вид окна. Для обеспечения эффекта окна необычной формы далее необходимо предоставить какое - то непрозрачное содержимое, имеющее нужную форму. Здесь возможны перечисленные ниже варианты : 1. Предоставить фоновую графику, используя файл такого формата, который поддерживает прозрачность. Например, для фона можно использовать файл PNG. Это простой прямолинейный подход, и он очень удобен, если приходится работать с дизайнерами, которые не разбираются в XAML. Однако из - за того, что окно будет визуализироваться с большим количеством пикселей и более высокими системными параметрами DPI фоновая графика может приобрести искаженный вид. Это также может представлять проблему и в случае разрешения пользователю изменять размеры окна.
ШАГ 2 Использовать доступные в WPF функции для рисования формы, чтобы создать фон с векторным содержимым. Такой подход исключает потерю качества, какими бы ни были размеры окна и настройка DPI системы. Однако в этом случае наверняка потребуется использовать средство проектирования, поддерживающее XAML, такое как Expression Blend.
ШАГ 3 Использовать более простой WPF- элемент, имеющий необходимую форму. Например, окно с замечательными скругленными углами можно создать с помощью элемента Border. Такой подход позволяет создавать окна с современным внешним видом в стиле Office без применения каких - либо дизайнерских навыков.
ЭТО ОКНО НЕОБЫЧНОЙ ФОРМЫ ИМЕЕТ НЕ ТОЛЬКО ПРОБЕЛЫ, СКВОЗЬ КОТОРЫЕ МОЖЕТ ПРОСМАТРИВАТЬСЯ НАХОДЯЩЕЕСЯ ЗА НИМ СОДЕРЖИМОЕ, НО КНОПКИ, КОТОРЫЕ ВЫХОДЯТ ЗА ГРАНИЦЫ ИЗОБРАЖЕНИЯ И НАКЛАДЫВАЮТСЯ НА ПРОЗРАЧНУЮ ОБЛАСТЬ, ИЗ - ЗА ЧЕГО КАЖЕТСЯ, БУДТО БЫ ОНИ СУЩЕСТВУЮТ САМИ ПО СЕБЕ, БЕЗ ОКНА :
ОКНО НЕОБЫЧНОЙ ФОРМЫ Ниже показано другое, более простое окно необычной формы. В этом окне используется элемент Border со скругленными углами для придания окну отчетливого внешнего вида. Компоновка тоже является упрощенной, поскольку исключает случайный выход содержимого за пределы границы, а размер границы может легко изменяться без наличия элемента Viewbox: