Урок за 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 документи вместо код за анализиране
  • Позволява ви да използвате хардуерно ускорение за изчертаване на GUI за по-добра производителност

История на WPF

Windows 1.0 беше първата GUI среда от 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 VS 2008 г Модификация и подобрения в:
Модел на приложение, подвързване, контроли, документи, анотации и 3-D Ul елементи.
3.5 SP1 2008 3.5 SP1 N / A Поддръжка на собствен начален екран. Нов контрол на уеб браузъра, поддръжка на DirectX пикселен шейдър.
4.0 2010 4.0 VS 2010 г Нови контроли: Календар. DataGrid, DatePicker. Мултитъч и манипулация
4.5 2012 4.5 VS 2012 г По-бързо време за настройка и подобрена производителност за Bitmap ефекти. Нови контроли: Календар. DataGrid, DatePicker.
Мултитъч и манипулация
4.5.1 2013 4.5.1 VS 2013 г Нов контрол на лентата
Нов интерфейс INotifyDataErrorlnfo
4.5.2 2014 4.5.2 NA Без голяма промяна
Без голяма промяна
4.6 2015 4.6 VS 2015 г Прозрачна опора за детски прозорец
Подобрения на HDPI и Touch

Най-новата стабилна версия на WPF 5.0.6, която е пусната през април 2021 г.

Характеристики на WPF

Характеристики на WPF
Характеристики на WPF
  • Документи и печат
  • Сигурност, достъпност и локализация
  • Предлага оперативна съвместимост с Windows Контроли за формуляри
  • Direct3D се използва в графични приложения, където производителността е важна
  • Използва хардуера на видеокартата за изобразяване
  • Векторната графика ви позволява да мащабирате приложението си без загуба на качество
  • WPF поддържа система с логически пиксели с плаваща запетая и 32-битов ARGB цвят
  • Предефинирайте стилове и контролни шаблони
  • Изграждане на международни шрифтове от съставни шрифтове
  • WPF изобразяването на текст ви помага да се възползвате от технологията ClearType
  • Позволява ви да използвате техниката на кеширане на предварително изобразен текст във видео паметта
  • Базиран на ресурсите подход за всеки контрол
  • Таймерите за презентации се инициализират и управляват от WPF
  • Връзката между видео и анимация също се поддържа
  • В WPF стилът е набор от свойства, които трябва да се прилагат към съдържание, използвано за визуално изобразяване
  • Шаблоните в WPF ви помагат да промените Ul на вашия документ
  • Командите са по-абстрактна и слабо свързана версия на събитията
  • Поддръжката на WPF за команди намалява количеството код, който трябва да напишем

Следва в този WPF C# урок, ще научим за основните типове и инфраструктура на WPF.

WPF основни типове и инфраструктури

Класовете в WPF са разделени на четири различни типа:

  • UIElement
  • FrameworkElement
  • ContentElement
  • FrameworkContentElement

Тези класове, известни като класове на базови елементи. Той осигурява основата за модел на композиране на потребителски интерфейси.

Потребителските интерфейси на WPF са съставени от елементи, които са събрани в йерархия на дърво. Нарича се дърво на елемента. Дървото на елементите е интуитивен начин за оформление на потребителския интерфейс. Това е структура, която ви позволява да получите функцията на мощни UI услуги.

xaml

Extensible Application Markup Language, който се нарича „XAML“ или „zammel“, е декларативен начин за дефиниране на потребителски интерфейси.

Ето XAML дефиницията на прост бутон:

<Button
FontSize="16"
HorizontalAlignment="Center"
VerticalAlignment="Center"
>
Say Hello Guru99</Button>

Предимство от използването на XAML език:

  • XAML, разделящ външния вид на предния край от логиката на задния край
  • XAML е най-лесният метод за представяне на потребителски интерфейси
  • XAML работи ефективно с инструменти

Контроли

WPF рамката поддържа много полезни контроли като:

  • Контроли за редактиране като текстBox, ПроверетеBox, RadioButton
  • Списъчни контроли като списъкBox, ListView, TreeView
  • Потребителска информация като етикет, WPF ProgressBar, подсказка
  • Действие като меню, бутон и лента с инструменти
  • Изгледи като Border, WPF Image и Viewbox
  • Често срещани диалогови прозорци като OpenFileDialog и PrintDialog.
  • Контейнери като TabContro, ScrollBar и GroupBox
  • Оформления като DocPanel, StackPanel и Grid
  • Навигация като рамка и хипервръзка

Външният вид на контролите може да се персонализира със стилове и шаблони без програмиране. Можете също да създадете персонализирана контрола, като извлечете нов клас от подходящ базов клас.

Външен вид

WPF предоставя функция за персонализиране на външния вид на вашето приложение. Тя ви позволява да задавате обекти и стойности за неща като шрифтове, фонове и т.н.

Функцията за стилове ви позволява да стандартизирате конкретен вид за целия продукт. Позволява ви да замените външния вид по подразбиране, като същевременно запазите поведението му по подразбиране.

Шаблонът за данни ви позволява да контролирате визуализацията по подразбиране на обвързаните данни. С помощта на темите можете лесно да визуализирате стилове от операционната система.

Оформление и панели

Оформлението ви помага при правилно позициониране и контрол на размера. Това е част от процеса на съставяне на презентацията за потребителя. WPF рамката улеснява процеса на оформление и предлага по-добра адаптивност на външния вид на потребителския интерфейс.

Инфраструктурата на оформлението се предлага от различни класове: 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid и 5) Canvas

Graphics

WPF предоставя подобрена графична система като

  • WPF използва независими от устройството единици, което позволява резолюция и независимост от устройството. Следователно всеки пиксел, който е независим от устройството, автоматично се мащабира със системата за настройка точки на инч
  • WPF използва double вместо float и поддържа по-широк набор от цветове
  • Графичният двигател на WPF е проектиран по такъв начин, че да може да се възползва от графичния хардуер, когато е наличен

Документи и печат

WPF рамката предлага три типа документи:

  • Фиксирани документи: Този тип документ поддържа WYSIWYG презентация.
  • Поточни документи: Позволява ви да коригирате и преформатирате съдържание въз основа на променливи по време на изпълнение, като размер на прозореца и разделителна способност на устройството.
  • XPS документи: Това е пагинирано представяне на електронна хартия в базиран на XML формат. XPS е формат на документи с отворен код и различни платформи.

WPF позволява по-добър контрол върху системата за печат. Включва отдалечен печат и опашки. Освен това XPS документите могат да се отпечатват директно, без да се конвертират във формат за печат.

WPF Archiтекстура

WPF е част от .NET framework. Той съдържа управляван и неуправляван код. Важните компоненти на WPF архитектурата са обяснени на фигурата по-долу:

WPF Archiтекстура
WPF Archiтекстура

Компоненти на 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 отидете на Файл > Проект

Създайте първото си WPF приложение

Стъпка 2) В новия прозорец на проекта

  1. Изберете WPF приложение
  2. Въведете име като „MyWPF“
  3. натиснете ОК

Създайте първото си WPF приложение

Стъпка 3) Visual Studio създава два файла по подразбиране

  • XAML файл (MainWindow.xaml)
  • CS файл (MainWindow.xaml.cs)

Създайте първото си WPF приложение

MainWindow.xaml има

  1. Прозорец за дизайн
  2. XAML файл

Създайте първото си WPF приложение

В XAML прозорците следните тагове са написани по подразбиране

Създайте първото си WPF приложение

Мрежата е първият елемент по подразбиране.

MainWindow.xaml.cs съдържа съответния код зад XAML дизайнерския файл

Създайте първото си WPF приложение

Стъпка 4) В кутията с инструменти,

  1. Плъзнете текстBox елемент към прозореца на дизайна
  2. ТекстBox ще се появи в прозореца за проектиране
  3. Ще видите XAML код за TextBox добави

Създайте първото си WPF приложение

Стъпка 5) Променете текста на „Първа WPF програма“.

Създайте първото си WPF приложение

Стъпка 6) Щракнете върху бутона Старт

Създайте първото си WPF приложение

Стъпка 7) Ще видите прозорец на изхода

Създайте първото си WPF приложение

честито! Вие сте проектирали и създали първото си WPF приложение. След това в този урок за WPF за начинаещи ще видим разликата между WPF и WinForms.

WPF срещу WinForms

WPF WinForms
Това е по-нова рамка, така че е по-съобразена с настоящите стандарти. По-стар е, така че е по-изпитан и тестван.
Той е гъвкав и богат на функции. Можете да проектирате много богати приложения без кодиране или купуване на контроли. Не е толкова богат на функции
Разработчици на 3rd партийните контроли са фокусирани върху съвместимостта с WPF, тъй като това е бъдещето. Има много контроли на трети страни, които можете да закупите или получите безплатно.
XAML ви позволява лесно да създавате и редактирате GUI. Позволява работата да бъде разделена между дизайнер (XAML) и програмист (C#, ASP.net и др.). In Windows Формира целия код, написан на едно място.
WPF може да създава потребителски интерфейси и за двете Windows приложения и уеб приложения като Silverlight и XBAP. Няма такава подкрепа
Вграденият контролен пакет на WPF е ограничен Контролите в кутията са много мощни

Тип приложения, създадени с WPF

  • WPF се опитва да замени уеб формуляри и Windows формуляри – приложенията могат да бъдат изградени да работят в браузър или самостоятелен прозорец
  • Windows Формуляри и WPF страници могат да съществуват едновременно в едно и също приложение
  • Можете да разработвате приложения за страници/прозорци

Бързо ръководство

  • Пълната форма на WPF е Windows Презентация Foundation
  • Това е идеална платформа за използване, ако трябва да работите с различни видове медии
  • Windows 1.0 беше първата GUI среда от Microsoft който работеше на DOS и разчиташе на системите GDI и USER
  • WPF в .NET предлага оперативна съвместимост с Windows Контроли за формуляри
  • WPF са разделени на четири различни типа като UIElement, FrameworkElement ContentElement и FrameworkContentElement
  • Най-важните компоненти на част от WPF архитектурата са PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 и Kernel
  • WPF е по-нова рамка, която сравнява WinForms, така че е по-съобразена с настоящите стандарти
  • Windows Формуляри и WPF страници могат да съществуват едновременно в едно и също приложение