зрахунком на можливості сучасного графічного устаткування. WPF надає кошти для створення візуального інтерфейсу, включаючи мову XAML, елементи управління, прив'язку даних, макети, двомірну і тривимірну графіку, анімацію, стилі, шаблони, документи, текст, мультимедіа та оформлення.
Графічною технологією, що лежить в основі WPF, є DirectX, на відміну від Windows Forms, де використовується GDI/GDI +. Продуктивність WPF вище, ніж у GDI + за рахунок використання апаратного прискорення графіки через DirectX.обеспечівает інтерфейс користувача високого рівня і надає наступні можливості:
· веб-подібну модель компонування, що забезпечує розміщення і впорядкування елементів управління по їх вмісту;
· багатофункціональну модель малювання на базі графічних примітивів (базових форм, текстових блоків, графічних інгредієнтів);
· модель з форматованим текстом, яка забезпечує відображення форматованого стилізованого тексту в будь-якій частині користувальницького інтерфейсу, комбінування тексту зі списками, малюнками та іншими інтерфейсними елементами;
· завдання анімації за допомогою декларативних дескрипторів;
· підтримка аудіовізуальної середовища для програвання будь-яких аудіо-і відеофайлів;
· стилі і шаблони, які дозволяють стандартизувати форматування і управління візуалізацією елементів управління, а також повторно використовувати ці рішення в різних місцях проекту;
· команди, які дозволяють визначати їх в одному місці і багаторазово пов'язувати з різними елементами управління в додатку;
· декларативний користувальницький інтерфейс, який дозволяє описувати вміст вікон або сторінок за допомогою мови XAML.
Основні компоненти архітектури WPF наведено на рис 4.2.1.
Рис. 4.2.1 Архітектура WPF
Компонент PresentationFramework містить типи WPF верхнього рівня, включаючи уявлення вікна, панелей та інших елементів управління. PresentationCoreсодержіт базові типи, такі як UIElement і Visual, від яких породжуються всі форми й елементи керування. WindowsBase включає різні типи, які можуть використовуватися за межами WPF, зокрема, компоненти DispatchObject і DependencyObject. Компонент milcore є ядром візуалізації WPF.WindowsCodecs являє собою низькорівневий API-інтерфейс для підтримки створення зображень. Direct 3D також є низькорівневим API-інтерфейсом, через який здійснюється візуалізація всієї графіки в WPF. User32 використовується для визначення, яка програма отримує ту чи іншу ділянку екрану.
Архітектура WPF визначає основні простору імен для ієрархії класів. Базовий набір елементів управління WPF визначає ключові ієрархії класів системи (рис. 4.2.2). На рис. 4.2.2 абстрактні класи зображені овалами, а конкретні класи - прямокутниками.
Рис. 4.2.2 Фундаментальні класи WPF
Більшість об'єктів в WPF є похідними від абстрактного класу DispatcherObject. WPF заснована на системі обміну повідомленнями, які для користувача інтерфейсу формуються в одному потоці, який управляється і контролюється диспетчером. Клас DispatcherObject забезпечує для кожного інтерфейсного елемента додатки перевірку виконання в потоці і доступ до диспетчера.
Класи WPF отримують підтримку властивостей залежно за рахунок породження від класу DependencyObject.
Клас Visual є одиничним об'єктом, який інкапсулює інструкції і подробиці, а також базову функціональність малювання. Інтерфейсні елементи WPF для візуалізації повинні породжуватися, в кінцевому рахунку, від класу Visual.
Всі користувача елементи управління є нащадками класів UIElement або FrameworkElement. Клас UIElement підтримує таку функціональність як компоновка, введення, фокус і події. Клас FrameworkElement додає до функціональності UIElement завдання полів, вирівнювання, підтримку зв'язування даних, анімацію і стилі.
Клас Shape є базовим для побудови таких геометричних форм як прямокутник, еліпс, багатокутник, лінія і шлях.
Клас Control визначає елементи управління, які можуть взаємодіяти з користувачем. Це кнопки, списки, текстові елементи.
Класи ContentControl і ItemsControl є базовими для елементів управління, які можуть мати зміст єдине або колекцію відповідно.
Клас Panel є базовим для всіх контейнерів компонування - елементів, які можуть містити один або більше число дочірніх елементів.
При проектуванні користувальницького інтерфейсу додатку необхідно сформувати у вікні або сторінці необхідні елементи управління і задати потрібні властивості, тобто провести організацію вмісту. Цей процес називається компонуванням.
У WPF компоновка здійснюється з використанням різних контейнерів. Кожен контейнер має своєї власної логікою компоновки - деякі укладають е...