SlideShare a Scribd company logo
WPF Модуль 1
Історія створення
 Базові технології більшості інтерфейсів в Windows -
інтерфейс графічного пристрою (GDI) і підсистема
USER - з'явилися в Windows 1.0 ще в 1985 році.
 На початку 1990-х років компанія Silicon Graphics
розробила популярну графічну бібліотеку OpenGL
для двовимірної і тривимірної графіки як в
Windows, так і в інших системах.
 Технологія Microsoft DirectX, представлена в 1995
році забезпечує високошвидкісну альтернативу для
2D-графіки, введення, мережевої взаємодії, роботи
зі звуком, а з часом і 3D-графіки (яка стала
можливою з версією DirectX 2, що вийшла в 1996
році).
Andrey Gladky
KspDevelop@gmail.com 2
Історія створення
 Згодом і в GDI, і в DirectX було внесено багато
суттєвих поліпшень. Наприклад, технологія GDI+,
представлена в Windows ХР, додала підтримку
прозорості та градієнтні кисті.
 Однак зважаючи на велику складність і в відсутність
апаратного прискорення вона працює повільніше,
ніж GDI. Що стосується технології DirectX, то
постійно виходять нові версії, що розсовують межі
можливостей комп'ютерної графіки.
Andrey Gladky
KspDevelop@gmail.com 3
Історія створення
 Після появи каркаса .NET і керованого коду (у 2002
році) розробники отримали дуже продуктивну
модель для створення Windows і веб-додатків.
Включена в неї технологія WindowsForms
(заснована на GDI+) стала основним способом
створення користувацьких інтерфейсів в Windows
для розробників на С#, Visual Basic і (меншою
мірою) С++. Вона користувалася успіхом і
виявилася вельми продуктивною, але мала
фундаментальні обмеження, що йдуть коренями в
GDI+ і підсистему USER.
 Починаючи з версії DirectX9 Microsoft стала
поставляти цю систему для керованого коду, яка
згодом була замінена каркасом XNA Framework.
Andrey Gladky
KspDevelop@gmail.com 4
Історія створення
Корпорація Microsoft розуміла, що потрібно щось нове
вільне від обмежень GDI+ і підсистеми USER, але не
менш продуктивне і зручне в використанні, ніж
Windows Forms. Із врахуванням зростання
популярності кроссплатформенних додатків,
заснованих на HTML і JavaScript, Windows
потребувала настільки ж простої технології, яка при
цьому дозволяла б задіяти всі можливості локального
комп'ютера. І Windows Presentation Foundation (WPF)
в 2005 дала в руки розробників ПЗ і графічних
дизайнерів той інструмент, який був необхідний для
створення сучасних рішень і не вимагав освоєння
відразу декількох складних технологій.
Andrey Gladky
KspDevelop@gmail.com 5
Основні можливості WPF
Andrey Gladky
KspDevelop@gmail.com 6
Широка інтеграція
 Підтримка композиції і візуалізації різнорідних
елементів.
 Використовувати одночасно ЗD-графіку, відео, мова
і відформатовані документи на додаток до звичайної
двовимірної графіки і елементів управління.
 Одні й ті ж ефекти застосовні до різних видів
мультимедійної інформації, а один раз освоєна
техніка може використовуватися і для інших цілей.
Andrey Gladky
KspDevelop@gmail.com 7
Незалежність від роздільної здатності
WPF забезпечує і дає можливість зменшувати або
збільшувати елементи на екрані незалежно від його
роздільної здатності. Це стало можливим завдяки тому,
що WPF заснована на використанні векторної
графіки.
Andrey Gladky
KspDevelop@gmail.com 8
Апаратне прискорення
 Оскільки WPF заснована на технології DirectX, то
весь вміст в WPF-додатку, будь то двовимірна або
тривимірна графіка, зображення або текст,
перетвориться в тривимірні трикутники, текстури та
інші об'єкти Direct3D, а потім промальовуються
апаратно-графічною підсистемою комп'ютера.
 Але WPF не вимагає обов'язкової наявності
високопродуктивної графічної апаратури. У ній є і
власний програмний конвеєр візуалізації.
Andrey Gladky
KspDevelop@gmail.com 9
Декларативне програмування
 В WPF застосування декларативного програмування
вийшло на новий рівень завдяки мові XAML
(extensible Application Markup Language -
розширювана мова розмітки додатків)
(вимовляється «замл»). Поєднання WPF і XAML
аналогічно використанню HTML для опису
користувацького інтерфейсу, але з набагато більш
широкими виразними можливостями.
 У WPF мова XAML застосовується в якості формату
документів, для представлення 3D-моделей і багато
чого іншого. У результаті дизайнер може
безпосередньо впливати на зовнішній вигляд
програми і деякі особливості його поведінки; раніше
для цього, як правило, доводилося писати код.
Andrey Gladky
KspDevelop@gmail.com 10
Багаті можливості композиції і
налаштування
У WPF елементи управління можуть поєднуватися
немислимими раніше способами. Можна створити
комбінований список, що містить анімовані кнопки,
або меню, складається з відео кліпів. Для оформлення
елемента способом, про який його автор і не
подумував, не знадобиться писати ніякий код (і в
цьому корінна відмінність від попередніх технологій,
де рисування елементів жорстко задавалася
розробником коду).
Andrey Gladky
KspDevelop@gmail.com 11
Архітектура WPF
Andrey Gladky
KspDevelop@gmail.com 12
Архітектура WPF
 PresentationFramework.dll містить типи WPF
верхнього рівня, включаючи ті, що представляють
вікна, панелі та інші види елементів управління.
Більшість класів, які ви будете використовувати,
знаходяться безпосередньо в цій збірці.
 PresentationCore.dll містить базові типи, такі як
UIElement і Visual, від яких успадковані всі фігури і
елементи управління.
 WindowsBase.dll містить ще більш базові
інгредієнти, які потенційно можуть застосовуватися
поза WPF.
Andrey Gladky
KspDevelop@gmail.com 13
Архітектура WPF
 milcore.dll - ядро системи візуалізації WPF і
фундамент рівня медіа-інтеграції (Media Integration
Layer - MIL). Він транслює візуальні елементи в
трикутники і текстури, яких очікує Direct3D.
 Хоча milcore.dll вважається частиною WPF, це також
найважливіший компонент операційних систем
Windows Vista і Windows 7. У дійсності DWM
(Desktop Window Manager) використовує milcore.dll
для відображення робочого стола.
Andrey Gladky
KspDevelop@gmail.com 14
Архітектура WPF
 WindowsCodecs.dll -нізкоуровневий API-інтерфейс,
що забезпечує підтримку зображень (наприклад,
обробку, відображення і масштабування растрових
зображень і файлів JPEG).
 Direct3D - низькорівневий API-інтерфейс, через
який візуалізується вся графіка в WPF.
 User32 використовується для визначення того, яке
місце на екрані до якої програми відноситься.
Andrey Gladky
KspDevelop@gmail.com 15
Огляд XAML
 Кожен елемент в документі XAML відображається
на екземпляр класу .NET. Ім'я елемента в точності
відповідає імені класу.
 Як і будь-який XML-документ, код XAML допускає
вкладення одного елемента всередину іншого.
XAML надає кожному класу гнучкість у прийнятті
рішення щодо того, як впоратися з такою ситуацією.
 Властивості кожного класу можна встановлювати
через атрибути.
Andrey Gladky
KspDevelop@gmail.com 16
Andrey Gladky
KspDevelop@gmail.com 17
Демонстрація
Огляд елементів
 Контейнери компонування
 Елементи управління
 Графічні фігури
 Модель Code Behind
Andrey Gladky
KspDevelop@gmail.com 18
Andrey Gladky
KspDevelop@gmail.com 19
Демонстрація

More Related Content

PDF
основи програмування 1
PDF
Ms publisher
PDF
15 10 клас
PPTX
System programing module 3
PPTX
Основи розробки комп'ютерних ігор презентація
PDF
Part 2 from-ryvkind_informatika_std_10ukr
PDF
Створеня публікацій
основи програмування 1
Ms publisher
15 10 клас
System programing module 3
Основи розробки комп'ютерних ігор презентація
Part 2 from-ryvkind_informatika_std_10ukr
Створеня публікацій

Similar to Wpf module 1 (20)

PPTX
Fps Components
PPTX
Fps components 2010
PPT
385 1 operaciyna_systema
PPT
What's new in Visual Studio 2010.
PPTX
PPTX
Win api module_2.0_gdi+
PPTX
Win api module_2.0_gdi+
PPTX
8 клас урок 7
PDF
Робота з Microsoft Producer for PowerPoint | Анатолій Бакал
PPTX
10 найкращих програмних засобів для графічного дизайну
PPT
Поняття презентації
PPT
Android: Інструменти програміста
PPTX
системи опрацювання комп'ютерних презентацій
PPT
Програмне забезпечення LINUX
PPTX
7_0711.pptx
PPTX
топ 5 безкоштовних програм
PPT
презентация статьи
PPS
урок 3 системи опрацювання графічних зображень
Fps Components
Fps components 2010
385 1 operaciyna_systema
What's new in Visual Studio 2010.
Win api module_2.0_gdi+
Win api module_2.0_gdi+
8 клас урок 7
Робота з Microsoft Producer for PowerPoint | Анатолій Бакал
10 найкращих програмних засобів для графічного дизайну
Поняття презентації
Android: Інструменти програміста
системи опрацювання комп'ютерних презентацій
Програмне забезпечення LINUX
7_0711.pptx
топ 5 безкоштовних програм
презентация статьи
урок 3 системи опрацювання графічних зображень
Ad

More from Andrii Hladkyi (20)

PPTX
Net framework and C# module 17. Serialization
PPTX
Net Framework and C# Module 3 4. Inheritance, Abstractions
PPTX
NET Framework and C# Module 12.2. Garbage Collector
PPTX
System programing module 2. Threads
PPTX
System programing module 1. Processes
PPTX
NET Framework and C# Module 6.2. Generics
PPTX
NET Framework and C# Module 6. Delegates, Events
PPTX
NET Framework and C# Module 5. Interfaces
PPTX
Net Framework and c# module 2. OOP
PPTX
Net Framework and c# Lesson 1
PPTX
Wpf module 2
PPTX
Wpf module 1
PPTX
Msp module 3
PPTX
Msp module 2
PPTX
Msp module 1
PPTX
Ado.net module 2
PPTX
Ado.net module 1
PPTX
Design pattern module 1
PPTX
Win api module_1.1_ok
PPTX
Win api module_6.2
Net framework and C# module 17. Serialization
Net Framework and C# Module 3 4. Inheritance, Abstractions
NET Framework and C# Module 12.2. Garbage Collector
System programing module 2. Threads
System programing module 1. Processes
NET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 5. Interfaces
Net Framework and c# module 2. OOP
Net Framework and c# Lesson 1
Wpf module 2
Wpf module 1
Msp module 3
Msp module 2
Msp module 1
Ado.net module 2
Ado.net module 1
Design pattern module 1
Win api module_1.1_ok
Win api module_6.2
Ad

Wpf module 1

  • 2. Історія створення  Базові технології більшості інтерфейсів в Windows - інтерфейс графічного пристрою (GDI) і підсистема USER - з'явилися в Windows 1.0 ще в 1985 році.  На початку 1990-х років компанія Silicon Graphics розробила популярну графічну бібліотеку OpenGL для двовимірної і тривимірної графіки як в Windows, так і в інших системах.  Технологія Microsoft DirectX, представлена в 1995 році забезпечує високошвидкісну альтернативу для 2D-графіки, введення, мережевої взаємодії, роботи зі звуком, а з часом і 3D-графіки (яка стала можливою з версією DirectX 2, що вийшла в 1996 році). Andrey Gladky KspDevelop@gmail.com 2
  • 3. Історія створення  Згодом і в GDI, і в DirectX було внесено багато суттєвих поліпшень. Наприклад, технологія GDI+, представлена в Windows ХР, додала підтримку прозорості та градієнтні кисті.  Однак зважаючи на велику складність і в відсутність апаратного прискорення вона працює повільніше, ніж GDI. Що стосується технології DirectX, то постійно виходять нові версії, що розсовують межі можливостей комп'ютерної графіки. Andrey Gladky KspDevelop@gmail.com 3
  • 4. Історія створення  Після появи каркаса .NET і керованого коду (у 2002 році) розробники отримали дуже продуктивну модель для створення Windows і веб-додатків. Включена в неї технологія WindowsForms (заснована на GDI+) стала основним способом створення користувацьких інтерфейсів в Windows для розробників на С#, Visual Basic і (меншою мірою) С++. Вона користувалася успіхом і виявилася вельми продуктивною, але мала фундаментальні обмеження, що йдуть коренями в GDI+ і підсистему USER.  Починаючи з версії DirectX9 Microsoft стала поставляти цю систему для керованого коду, яка згодом була замінена каркасом XNA Framework. Andrey Gladky KspDevelop@gmail.com 4
  • 5. Історія створення Корпорація Microsoft розуміла, що потрібно щось нове вільне від обмежень GDI+ і підсистеми USER, але не менш продуктивне і зручне в використанні, ніж Windows Forms. Із врахуванням зростання популярності кроссплатформенних додатків, заснованих на HTML і JavaScript, Windows потребувала настільки ж простої технології, яка при цьому дозволяла б задіяти всі можливості локального комп'ютера. І Windows Presentation Foundation (WPF) в 2005 дала в руки розробників ПЗ і графічних дизайнерів той інструмент, який був необхідний для створення сучасних рішень і не вимагав освоєння відразу декількох складних технологій. Andrey Gladky KspDevelop@gmail.com 5
  • 6. Основні можливості WPF Andrey Gladky KspDevelop@gmail.com 6
  • 7. Широка інтеграція  Підтримка композиції і візуалізації різнорідних елементів.  Використовувати одночасно ЗD-графіку, відео, мова і відформатовані документи на додаток до звичайної двовимірної графіки і елементів управління.  Одні й ті ж ефекти застосовні до різних видів мультимедійної інформації, а один раз освоєна техніка може використовуватися і для інших цілей. Andrey Gladky KspDevelop@gmail.com 7
  • 8. Незалежність від роздільної здатності WPF забезпечує і дає можливість зменшувати або збільшувати елементи на екрані незалежно від його роздільної здатності. Це стало можливим завдяки тому, що WPF заснована на використанні векторної графіки. Andrey Gladky KspDevelop@gmail.com 8
  • 9. Апаратне прискорення  Оскільки WPF заснована на технології DirectX, то весь вміст в WPF-додатку, будь то двовимірна або тривимірна графіка, зображення або текст, перетвориться в тривимірні трикутники, текстури та інші об'єкти Direct3D, а потім промальовуються апаратно-графічною підсистемою комп'ютера.  Але WPF не вимагає обов'язкової наявності високопродуктивної графічної апаратури. У ній є і власний програмний конвеєр візуалізації. Andrey Gladky KspDevelop@gmail.com 9
  • 10. Декларативне програмування  В WPF застосування декларативного програмування вийшло на новий рівень завдяки мові XAML (extensible Application Markup Language - розширювана мова розмітки додатків) (вимовляється «замл»). Поєднання WPF і XAML аналогічно використанню HTML для опису користувацького інтерфейсу, але з набагато більш широкими виразними можливостями.  У WPF мова XAML застосовується в якості формату документів, для представлення 3D-моделей і багато чого іншого. У результаті дизайнер може безпосередньо впливати на зовнішній вигляд програми і деякі особливості його поведінки; раніше для цього, як правило, доводилося писати код. Andrey Gladky KspDevelop@gmail.com 10
  • 11. Багаті можливості композиції і налаштування У WPF елементи управління можуть поєднуватися немислимими раніше способами. Можна створити комбінований список, що містить анімовані кнопки, або меню, складається з відео кліпів. Для оформлення елемента способом, про який його автор і не подумував, не знадобиться писати ніякий код (і в цьому корінна відмінність від попередніх технологій, де рисування елементів жорстко задавалася розробником коду). Andrey Gladky KspDevelop@gmail.com 11
  • 13. Архітектура WPF  PresentationFramework.dll містить типи WPF верхнього рівня, включаючи ті, що представляють вікна, панелі та інші види елементів управління. Більшість класів, які ви будете використовувати, знаходяться безпосередньо в цій збірці.  PresentationCore.dll містить базові типи, такі як UIElement і Visual, від яких успадковані всі фігури і елементи управління.  WindowsBase.dll містить ще більш базові інгредієнти, які потенційно можуть застосовуватися поза WPF. Andrey Gladky KspDevelop@gmail.com 13
  • 14. Архітектура WPF  milcore.dll - ядро системи візуалізації WPF і фундамент рівня медіа-інтеграції (Media Integration Layer - MIL). Він транслює візуальні елементи в трикутники і текстури, яких очікує Direct3D.  Хоча milcore.dll вважається частиною WPF, це також найважливіший компонент операційних систем Windows Vista і Windows 7. У дійсності DWM (Desktop Window Manager) використовує milcore.dll для відображення робочого стола. Andrey Gladky KspDevelop@gmail.com 14
  • 15. Архітектура WPF  WindowsCodecs.dll -нізкоуровневий API-інтерфейс, що забезпечує підтримку зображень (наприклад, обробку, відображення і масштабування растрових зображень і файлів JPEG).  Direct3D - низькорівневий API-інтерфейс, через який візуалізується вся графіка в WPF.  User32 використовується для визначення того, яке місце на екрані до якої програми відноситься. Andrey Gladky KspDevelop@gmail.com 15
  • 16. Огляд XAML  Кожен елемент в документі XAML відображається на екземпляр класу .NET. Ім'я елемента в точності відповідає імені класу.  Як і будь-який XML-документ, код XAML допускає вкладення одного елемента всередину іншого. XAML надає кожному класу гнучкість у прийнятті рішення щодо того, як впоратися з такою ситуацією.  Властивості кожного класу можна встановлювати через атрибути. Andrey Gladky KspDevelop@gmail.com 16
  • 18. Огляд елементів  Контейнери компонування  Елементи управління  Графічні фігури  Модель Code Behind Andrey Gladky KspDevelop@gmail.com 18