Платформа Windows Presentation Foundation

Оценить
(0 голоса)

Будучи принципиально новой инфраструктурой презентационного уровня, WPF принесла с собой множество новых концепций и новую область программирования — и представляет собой новый и весьма серьезный материал для изучения. Но давайте же кратко рассмотрим общую архитектуру платформы WPF, а затем изучим модель программирования.

Физически WPF реализована как три dll-файла:

□    WindowsBase.dll;

□    PresentationFramework.dll;

□    PresentationCore.dll.

Любая инфраструктура презентационного уровня должна в конечном счете рисовать на эк­ране пикселы, и WPF в этом смысле не отличается. В ее двоичных файлах реализованы цвижки композиции и визуализации, которые работают с вашим аппаратным обеспечением через DirectX. В дополнение к уровням отображения имеется также и богатая программная модель, которая реализована с поддержкой таких вещей, как компоновка, контейнеры (ко­гда один элемент содержит другой) и отправка событий/сообщений. Короче говоря, она де- пает всю тяжелую работу для того, чтобы даже очень сложные пользовательские интерфей­сы могли отображаться на экране с производительностью достаточной для того, чтобы удовлетворить потребности широкого диапазона решений.

На рис. 16.1 показана логическая архитектура компонентов WPF. Движок визуализации со­держится внутри компонента Media Integration Layer; PresentationCore занимается взаимо­действием со слоем Media Integration Layer, a PresentationFramework содержит все осталь­ное, что необходимо для обеспечения работы платформы WPF (компоновка, привязка данных, уведомления о событиях).

Примечание

Большая часть самой WPF реализована на управляемом коде .NET. Исключением является Media Integration Layer. Когда дело доходит до визуализации пользователь­ского интерфейса на экране, то главной задачей WPF становится оптимизация производительности, и поэтому Media Integration Layer реализован на машинном коде.

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

□    мультимедиа — WPF поддерживает двумерную и трехмерную графику, а также видео форматов WMV, MPEG и AVI;

□    привязка данных — WPF с самого начала создавалась с полной поддержкой всего спек­тра вариантов привязки данных, вплоть до LINQ; Описание: image413

□    взаимодействие с Windows Forms — приложения WPF могут содержать компоненты WinForms и наоборот. Это удобно, поскольку означает, что разработчикам не придется отказываться от своих приобретенных большими усилиями знаний, полученных в тече­ние многих лет программирования под WinForms;

□ поддержка документов — WPF имеет несколько собственных конструкций для создания приложений по работе с документами. Например, имеется класс Document Reader для отображения документов фиксированного формата и класс FlowDocumentReader для отображения документов с динамической компоновкой. Например, газетная статья мо­жет автоматически изменять разбивку на страницы и при этом сохранять структуру ко­лонок;

□    анимация — разработчики могут создавать анимацию (на основе раскадровок) и указы­вать триггеры и таймеры анимации;

□    внешний вид элементов управления— внешний вид элементов управления в WPF управляется шаблоном, который может быть изменен или заменен разработчиком (для полной настройки практически любого аспекта "хромировки" элемента управления);

□    текст— в WPF имеется богатая поддержка типографского оформления. Разработчик может манипулировать массой атрибутов шрифтов (кернингом; такими эффектами, как свечение, отбрасываемые тени и размытость движущегося объекта; автоматическими межстрочными интервалами и т. д.). WPF визуализирует текст с использованием техно­логии ClearType. Описание: image414

На начальных стадиях разработки фирма Microsoft выпустила несколько прототипов при­ложений для демонстрации новых технологий .NET 3.0 (и в том числе WPF). На рис. 16.2

показан снимок экрана прототипа приложения из области здравоохранения. Несмотря на то, что черно-белый снимок не позволяет отдать должное этому приложению, вы вполне може­те оценить его возможности: такой пользовательский интерфейс реализовать при помощи технологии Windows Forms было бы исключительно трудно.

По большей части разработчик может не беспокоиться о нижнем уровне архитектурных подробностей технологии WPF; модель программирования и инструменты, которые помо­гают использовать эту модель — вот на чем сосредоточено внимание большинства разра­ботчиков.

Модель программирования
Простота синтаксиса
Совместная работа
Введение в визуальный конструктор WPF
XAML и панели конструирования

Добавить комментарий


Защитный код
Обновить

© 2017 www.visualstudios.ru. Все права защищены.