SlideShare a Scribd company logo
1 of 19
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

Similar to Wpf module 1

385 1 operaciyna_systema
385 1 operaciyna_systema385 1 operaciyna_systema
385 1 operaciyna_systemamarunasorokina
 
What's new in Visual Studio 2010.
What's new in Visual Studio 2010.What's new in Visual Studio 2010.
What's new in Visual Studio 2010.akrakovetsky
 
Win api module_2.0_gdi+
Win api module_2.0_gdi+Win api module_2.0_gdi+
Win api module_2.0_gdi+Andrii Hladkyi
 
Win api module_2.0_gdi+
Win api module_2.0_gdi+Win api module_2.0_gdi+
Win api module_2.0_gdi+Andrii Hladkyi
 
Робота з Microsoft Producer for PowerPoint | Анатолій Бакал
Робота з Microsoft Producer for PowerPoint | Анатолій БакалРобота з Microsoft Producer for PowerPoint | Анатолій Бакал
Робота з Microsoft Producer for PowerPoint | Анатолій БакалAnatoliy Bakal
 
10 найкращих програмних засобів для графічного дизайну
10 найкращих програмних засобів для графічного дизайну10 найкращих програмних засобів для графічного дизайну
10 найкращих програмних засобів для графічного дизайнуDOMDepartmentofMarke
 
Поняття презентації
Поняття презентаціїПоняття презентації
Поняття презентаціїRudnitcka
 
Android: Інструменти програміста
Android: Інструменти програмістаAndroid: Інструменти програміста
Android: Інструменти програмістаAnatoliy Odukha
 
системи опрацювання комп'ютерних презентацій
системи опрацювання комп'ютерних презентаційсистеми опрацювання комп'ютерних презентацій
системи опрацювання комп'ютерних презентацій������ �����
 
топ 5 безкоштовних програм
топ 5 безкоштовних програмтоп 5 безкоштовних програм
топ 5 безкоштовних програмDOMDepartmentofMarke
 
презентация статьи
презентация статьипрезентация статьи
презентация статьиAlexander Babich
 
урок 3 системи опрацювання графічних зображень
урок 3 системи опрацювання графічних зображеньурок 3 системи опрацювання графічних зображень
урок 3 системи опрацювання графічних зображеньmrprizrak
 
креслярські програми
креслярські програмикреслярські програми
креслярські програмиЮра Палій
 

Similar to Wpf module 1 (20)

Urok_16
Urok_16Urok_16
Urok_16
 
Web 5
Web 5Web 5
Web 5
 
385 1 operaciyna_systema
385 1 operaciyna_systema385 1 operaciyna_systema
385 1 operaciyna_systema
 
What's new in Visual Studio 2010.
What's new in Visual Studio 2010.What's new in Visual Studio 2010.
What's new in Visual Studio 2010.
 
C++
C++C++
C++
 
Win api module_2.0_gdi+
Win api module_2.0_gdi+Win api module_2.0_gdi+
Win api module_2.0_gdi+
 
Win api module_2.0_gdi+
Win api module_2.0_gdi+Win api module_2.0_gdi+
Win api module_2.0_gdi+
 
8 клас урок 7
8 клас урок 78 клас урок 7
8 клас урок 7
 
Робота з Microsoft Producer for PowerPoint | Анатолій Бакал
Робота з Microsoft Producer for PowerPoint | Анатолій БакалРобота з Microsoft Producer for PowerPoint | Анатолій Бакал
Робота з Microsoft Producer for PowerPoint | Анатолій Бакал
 
10 найкращих програмних засобів для графічного дизайну
10 найкращих програмних засобів для графічного дизайну10 найкращих програмних засобів для графічного дизайну
10 найкращих програмних засобів для графічного дизайну
 
Поняття презентації
Поняття презентаціїПоняття презентації
Поняття презентації
 
Android: Інструменти програміста
Android: Інструменти програмістаAndroid: Інструменти програміста
Android: Інструменти програміста
 
системи опрацювання комп'ютерних презентацій
системи опрацювання комп'ютерних презентаційсистеми опрацювання комп'ютерних презентацій
системи опрацювання комп'ютерних презентацій
 
Програмне забезпечення LINUX
Програмне забезпечення LINUXПрограмне забезпечення LINUX
Програмне забезпечення LINUX
 
7_0711.pptx
7_0711.pptx7_0711.pptx
7_0711.pptx
 
топ 5 безкоштовних програм
топ 5 безкоштовних програмтоп 5 безкоштовних програм
топ 5 безкоштовних програм
 
презентация статьи
презентация статьипрезентация статьи
презентация статьи
 
урок 3 системи опрацювання графічних зображень
урок 3 системи опрацювання графічних зображеньурок 3 системи опрацювання графічних зображень
урок 3 системи опрацювання графічних зображень
 
Pro MS PowerPoint 2007
Pro MS PowerPoint 2007Pro MS PowerPoint 2007
Pro MS PowerPoint 2007
 
креслярські програми
креслярські програмикреслярські програми
креслярські програми
 

More from Andrii Hladkyi

Net framework and C# module 17. Serialization
Net framework and  C# module 17. SerializationNet framework and  C# module 17. Serialization
Net framework and C# module 17. SerializationAndrii Hladkyi
 
Net Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsNet Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsAndrii Hladkyi
 
NET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorNET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorAndrii Hladkyi
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. ThreadsAndrii Hladkyi
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. ProcessesAndrii Hladkyi
 
NET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsNET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsAndrii Hladkyi
 
NET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsNET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsAndrii Hladkyi
 
NET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesNET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesAndrii Hladkyi
 
Net Framework and c# module 2. OOP
Net Framework and c# module 2. OOPNet Framework and c# module 2. OOP
Net Framework and c# module 2. OOPAndrii Hladkyi
 
Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Andrii Hladkyi
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1Andrii Hladkyi
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1Andrii Hladkyi
 

More from Andrii Hladkyi (20)

Net framework and C# module 17. Serialization
Net framework and  C# module 17. SerializationNet framework and  C# module 17. Serialization
Net framework and C# module 17. Serialization
 
Net Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsNet Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, Abstractions
 
NET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorNET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage Collector
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. Threads
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. Processes
 
NET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsNET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. Generics
 
NET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsNET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, Events
 
NET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesNET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. Interfaces
 
Net Framework and c# module 2. OOP
Net Framework and c# module 2. OOPNet Framework and c# module 2. OOP
Net Framework and c# module 2. OOP
 
Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Net Framework and c# Lesson 1
Net Framework and c# Lesson 1
 
Wpf module 2
Wpf module 2Wpf module 2
Wpf module 2
 
Msp module 3
Msp module 3Msp module 3
Msp module 3
 
Msp module 2
Msp module 2Msp module 2
Msp module 2
 
Msp module 1
Msp module 1Msp module 1
Msp module 1
 
Ado.net module 2
Ado.net module 2Ado.net module 2
Ado.net module 2
 
Ado.net module 1
Ado.net module 1Ado.net module 1
Ado.net module 1
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1
 
Win api module_1.1_ok
Win api module_1.1_okWin api module_1.1_ok
Win api module_1.1_ok
 
Win api module_6.2
Win api module_6.2Win api module_6.2
Win api module_6.2
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1
 

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