Підручник WPF для початківців: Як створити програму [Приклад]
Що таке WPF?
WPF є каркасом для будівництва Windows програми, які дозволяють користувачам розробляти багаті інтерфейси користувача з 3D-анімацією та багатими кольорами з меншою складністю коду. Це векторний механізм візуалізації, який використовує апаратне прискорення сучасних графічних карт, що робить Ul швидшим і добре масштабованим. WPF означає Windows Презентація Foundation.
WPF можна розглядати як еволюцію над WinForms. Він створює просту в експлуатації графічну систему відображення Windows. Він пропонує легкий розподіл між інтерфейсом користувача та бізнес-логікою.
Програми WPF можна розгорнути у вашій системі як окрему настільну програму або розмістити як вбудований об’єкт на веб-сайті.
Чому WPF?
Існує багато причин для використання платформи WPF, деякі з них:
- Ідеальна платформа для використання, якщо вам потрібно працювати з різними типами медіа
- WPF дозволяє створювати шкірний інтерфейс користувача. Це також допоможе вам, коли вам потрібно завантажити частину інтерфейсу користувача або потрібно зв’язати дані XML
- Це дозволяє вам скористатися перевагами великої бібліотеки класів .NET, на якій вона побудована Технологія .NET
- Незалежність роздільної здатності, тому програми, розроблені за допомогою WMF, можна запускати на мобільних пристроях або 20-дюймовому моніторі
- WPF будується на DirectX замість WinAPI. Він пропонує графічну систему клієнтського комп’ютера. Таким чином, пропонуючи більшу потужність графічного рендерингу
- Підтримує модель потокового документа, яка забезпечує якість макета «настільної публікації».
- Зовнішній вигляд і поведінка слабко пов'язані. Це дозволяє дизайнерам і розробникам працювати над двома окремими моделями
- У рамках WMF ви можете графічно створювати інструменти для простих документів XML замість аналізу коду
- Дозволяє використовувати апаратне прискорення для малювання графічного інтерфейсу для кращої продуктивності
Історія WPF
Windows 1.0 було першим графічним середовищем від Microsoft. Він працює як рівень поверх DOS, покладаючись на системи GDI та USER для графічного та користувацького інтерфейсу.
DirectX був представлений у 1995 році як високопродуктивна графічна система. Він був спрямований на ігри та інші середовища, пов’язані з графікою. Протягом багатьох років було випущено багато версій із Directx9, які надають бібліотеку для використання з кодом mange.Net.
Версія WPF | рік випуску | .Net версія | Версія Visual Studio | Функції |
---|---|---|---|---|
3.0 | 2006 | 3.0 | N / A | Початковий випуск. Однак розробку WPF можна зробити за допомогою VS 2005. |
3.5 | 2007 | 3.5 | VS2008 | Модифікація та вдосконалення: Модель програми, прив’язка, елементи керування, документи, анотації та тривимірні Ul-елементи. |
3.5 SP1 | 2008 | 3.5 SP1 | N / A | Вбудована підтримка екрану-заставки. Нове керування веб-браузером, підтримка піксельних шейдерів DirectX. |
4.0 | 2010 | 4.0 | VS2010 | Нові елементи керування: Календар. DataGrid, DatePicker. Multi-Touch і маніпуляції |
4.5 | 2012 | 4.5 | VS2012 | Швидший час налаштування та покращена продуктивність ефектів Bitmap. Нові елементи керування: Календар. DataGrid, DatePicker. Multi-Touch і маніпуляції |
4.5.1 | 2013 | 4.5.1 | VS2013 | Новий елемент керування стрічкою Новий інтерфейс INotifyDataErrorlnfo |
4.5.2 | 2014 | 4.5.2 | NA | Без істотних змін Без істотних змін |
4.6 | 2015 | 4.6 | VS2015 | Підтримка прозорого дочірнього вікна Покращення HDPI та Touch |
Остання стабільна версія WPF 5.0.6, випущена в квітні 2021 року.
Особливості WPF

- Документи та друк
- Безпека, доступність і локалізація
- Пропонує взаємодію з Windows Елементи керування формами
- Direct3D використовується в графічних програмах, де важлива продуктивність
- Використовує апаратне забезпечення відеокарти для візуалізації
- Векторна графіка дозволяє масштабувати програму без втрати якості
- WPF підтримує логічну піксельну систему з плаваючою комою та 32-розрядний колір ARGB
- Перевизначення стилів і шаблонів елементів керування
- Створення міжнародних шрифтів із складених шрифтів
- Візуалізація тексту WPF допомагає використовувати переваги технології ClearType
- Дозволяє використовувати техніку кешування попередньо відтвореного тексту у відеопам'яті
- Підхід на основі ресурсів для кожного елемента керування
- Таймери презентації ініціалізуються та керуються WPF
- Також підтримується зв’язок між відео та анімацією
- У WPF стиль — це набір властивостей, які слід застосовувати до вмісту, що використовується для візуального відтворення
- Шаблони в WPF допомагають змінити Ul вашого документа
- Команди є більш абстрактною та слабозв’язаною версією подій
- Підтримка WPF для команд зменшує кількість коду, який нам потрібно написати
Далі в цьому WPF Підручник C#, ми дізнаємося про основні типи та інфраструктуру WPF.
Основні типи та інфраструктури WPF
Класи в WPF поділяються на чотири різні типи:
- UIElement
- FrameworkElement
- ContentElement
- FrameworkContentElement
Ці класи, відомі як класи базових елементів. Він забезпечує основу для моделі створення інтерфейсів користувача.
Користувальницькі інтерфейси WPF складаються з елементів, які зібрані в ієрархію дерева. Його називають деревом елементів. Дерево елементів — це інтуїтивно зрозумілий спосіб компонування інтерфейсу користувача. Це структура, яка дозволяє вам отримати функцію потужних служб інтерфейсу користувача.
XAML
Розширювана мова розмітки програм, яка називається «XAML» або «zammel», є декларативним способом визначення інтерфейсів користувача.
Ось визначення простої кнопки в XAML:
<Button FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center" > Say Hello Guru99</Button>
Переваги використання мови XAML:
- XAML відокремлює зовнішній вигляд інтерфейсу від внутрішньої логіки
- XAML є найпростішим способом представлення інтерфейсів користувача
- XAML — це ефективна робота з інструментами
Controls
Фреймворк WPF підтримує багато корисних елементів керування, наприклад:
- Елементи керування редагуванням, як-от ТекстBox, ПеревіртеBox, Радіо-кнопка
- Елементи керування списком, наприклад списокBox, ListView, TreeView
- Інформація про користувача, наприклад Label, WPF ProgressBar, ToolTip
- Такі дії, як меню, кнопка та панель інструментів
- Такі елементи зовнішнього вигляду, як межа, зображення WPF і вікно перегляду
- Поширені діалогові вікна, такі як OpenFileDialog і PrintDialog.
- Такі контейнери, як TabContro, ScrollBar і GroupBox
- Такі макети, як DocPanel, StackPanel і Grid
- Навігація, наприклад фрейм і гіперпосилання
Зовнішній вигляд елементів керування можна налаштувати за допомогою стилів і шаблонів без програмування. Ви також можете створити спеціальний елемент керування, створивши новий клас із відповідного базового класу.
Зовнішній вигляд
WPF надає функцію для налаштування зовнішнього вигляду вашої програми. Це дозволяє встановлювати об’єкти та значення для таких речей, як шрифти, фони тощо.
Функція стилів дозволяє стандартизувати певний вигляд для всього продукту. Це дозволяє замінити зовнішній вигляд за замовчуванням, зберігаючи типову поведінку.
Шаблон даних дозволяє керувати стандартною візуалізацією пов’язаних даних. За допомогою тем ви можете легко візуалізувати стилі з операційної системи.
Макет і панелі
Макет допомагає правильно розташувати та контролювати розмір. Це частина процесу створення презентації для користувача. Фреймворк WPF спрощує процес компонування та пропонує кращу адаптивність зовнішнього вигляду інтерфейсу користувача.
Інфраструктура макета пропонується різними класами: 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid і 5) Canvas
Графіка
WPF забезпечує покращену графічну систему, наприклад
- WPF використовує апаратно-незалежні одиниці, що забезпечує роздільну здатність і незалежність від пристрою. Таким чином, кожен піксель, який не залежить від пристрою, автоматично масштабується за допомогою системи налаштування точок на дюйм
- WPF використовує double замість float і підтримує більший набір кольорів
- Графічний механізм WPF розроблений таким чином, що він може використовувати переваги графічного апаратного забезпечення, коли воно доступне
Документи та друк
Фреймворк WPF пропонує три типи документів:
- Виправлені документи: Цей тип документів підтримує WYSIWПрезентація YG.
- Поточні документи: Дозволяє налаштовувати та перекомпоновувати вміст на основі змінних часу виконання, таких як розмір вікна та роздільна здатність пристрою.
- Документи XPS: Це розбите на сторінки представлення електронного паперу у форматі на основі XML. XPS — це міжплатформний формат документів із відкритим кодом.
WPF забезпечує кращий контроль над системою друку. Він включає віддалений друк і черги. Крім того, документи XPS можна друкувати безпосередньо без перетворення їх у формат друку.
WPF Archiтектура
WPF є частиною .NET framework. Він містить керований і некерований код. Важливі компоненти архітектури WPF пояснюються на наведеному нижче малюнку:

Компоненти архітектури WPF
- PresentationFramework: допомагає створювати елементи верхнього рівня, такі як елементи керування, стилі, макет, вікна тощо.
- PresentationCore: Він містить базові типи, такі як UIElement, Visual з усіх елементів керування та форм, отриманих у PresentationFramework.dll.
- CLR: це робить процес розробки продуктивним, пропонуючи такі функції, як управління пам'яттю, обробка помилок тощо.
- Milcore: Milcore є частиною некерованого коду, який забезпечує тісну інтеграцію з DirectX.
- DirectX: Це низькорівневий API, який дозволяє відтворювати графіку WPF. Переговори DirectX взаємодіють із драйверами та відтворюють вміст.
- Користувач32: Це основний API, який широко використовується багатьма програмами. Він керує пам'яттю та розділенням процесів. User32 допоможе вам вирішити, який елемент буде розміщено на екрані.
- ядро: Вхідні дані виникають як сигнал у драйвері пристрою режиму ядра та направляються до правильного процесу та шляхом підключення до Windows ядро та User32.
Встановлення WPF
Перейдіть за цим посиланням, щоб установити WPF https://www.guru99.com/download-install-visual-studio.html
Далі в цьому навчальному посібнику із застосування WPF ми створимо наш перший WPF.
Як створити свою першу програму WPF?
У цьому прикладі WPF ми розробимо базову програму WPF. Отже, давайте почнемо просту реалізацію, дотримуючись кроків, наведених у прикладах застосування WPF нижче.
Крок 1) У Visual Studio перейдіть до «Файл» > «Проект».
Крок 2) У новому вікні проекту
- Виберіть додаток WPF
- Введіть назву як «MyWPF»
- натисніть OK
Крок 3) Visual Studio за замовчуванням створює два файли
- Файл XAML (MainWindow.xaml)
- Файл CS (MainWindow.xaml.cs)
MainWindow.xaml має
- Вікно дизайну
- Файл XAML
У вікнах XAML такі теги записуються за замовчуванням
Сітка є першим елементом за замовчуванням.
MainWindow.xaml.cs містить відповідний код у файлі дизайну XAML
Крок 4) У коробці інструментів,
- Перетягніть текстBox елемент до вікна дизайну
- ТекстBox з’явиться у вікні дизайну
- Ви побачите код XAML для текстуBox доданий
Крок 5) Змініть текст на «Перша програма WPF».
Крок 6) Натисніть кнопку Пуск
Крок 7) Ви побачите вікно на виході
Щиро вітаю! Ви розробили та створили свою першу програму WPF. Далі в цьому посібнику з WPF для початківців ми побачимо різницю між WPF і WinForms.
WPF проти WinForms
WPF | WinForms |
---|---|
Це новіша структура, тому вона більше відповідає поточним стандартам. | Він старший, тому більш перевірений. |
Він гнучкий і багатий функціями. Ви можете створювати дуже багаті додатки без програмування чи купівлі елементів керування. | Не так багато функцій |
Розробники 3rd груповий контроль зосереджений на сумісності з WPF, оскільки це майбутнє. | Існує багато сторонніх елементів керування, які можна купити або отримати безкоштовно. |
XAML дозволяє легко створювати та редагувати графічний інтерфейс користувача. Це дозволяє розподілити роботу між дизайнером (XAML) і програмістом (C#, ASP.net тощо). | In Windows Формує весь код, написаний в одному місці. |
WPF може створювати інтерфейси користувача для обох Windows програм і веб-програм, таких як Silverlight і XBAP. | Такої підтримки немає |
Набір вбудованих елементів керування WPF обмежений | Вбудовані елементи керування дуже потужні |
Тип програм, створених за допомогою WPF
- WPF намагається замінити веб-форми та вікна – програми можна створювати для запуску в браузері або окремому вікні
- Windows Форми та сторінки WPF можуть співіснувати в одній програмі
- Ви можете розробляти програми для сторінок/вікон
Короткий посібник
- Повна форма WPF Windows Презентація Foundation
- Це ідеальна платформа для використання, якщо вам потрібно працювати з різними типами медіа
- Windows 1.0 було першим графічним середовищем від Microsoft який працював на DOS і покладався на системи GDI та USER
- WPF у .NET забезпечує взаємодію з Windows Елементи керування формами
- WPF поділяються на чотири різні типи, наприклад UIElement, FrameworkElement ContentElement і FrameworkContentElement
- Найважливішими компонентами частини архітектури WPF є PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 і Kernel.
- WPF — це новіша структура, яка порівнює WinForms, тому вона більше відповідає поточним стандартам
- Windows Форми та сторінки WPF можуть співіснувати в одній програмі