Учебное пособие по 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 | ARCXNUMX | Первый выпуск. Однако разработку WPF можно выполнить с помощью VS 2005. |
3.5 | 2007 | 3.5 | ВС 2008 | Модификации и улучшения: Модель приложения, привязка, элементы управления, документы, аннотации и элементы 3-D Ul. |
3.5 SP1 | 2008 | 3.5 SP1 | ARCXNUMX | Встроенная поддержка заставки. Новое управление веб-браузером, поддержка пиксельных шейдеров DirectX. |
4.0 | 2010 | 4.0 | ВС 2010 | Новые элементы управления: Календарь. DataGrid, DatePicker. Мультитач и манипуляции |
4.5 | 2012 | 4.5 | ВС 2012 | Ускорено время настройки и улучшена производительность растровых эффектов. Новые элементы управления: Календарь. DataGrid, DatePicker. Мультитач и манипуляции |
4.5.1 | 2013 | 4.5.1 | ВС 2013 | Новый элемент управления лентой Новый интерфейс INotifyDataErrorInfo. |
4.5.2 | 2014 | 4.5.2 | NA | Никаких серьезных изменений Никаких серьезных изменений |
4.6 | 2015 | 4.6 | ВС 2015 | Поддержка прозрачного дочернего окна Улучшения 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 делятся на четыре разных типа:
- элемент пользовательского интерфейса
- КаркасЭлемент
- КонтентЭлемент
- FrameworkContentElement
Эти классы известны как классы базовых элементов. Он обеспечивает основу для модели создания пользовательских интерфейсов.
Пользовательские интерфейсы WPF состоят из элементов, собранных в древовидную иерархию. Это называется деревом элементов. Дерево элементов — это интуитивно понятный способ компоновки пользовательского интерфейса. Это структура, которая позволяет вам получить возможности мощных сервисов пользовательского интерфейса.
XAML
Расширяемый язык разметки приложений, который называется «XAML» или «zammel», представляет собой декларативный способ определения пользовательских интерфейсов.
Вот определение простой кнопки в XAML:
<Button FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center" > Say Hello Guru99</Button>
Преимущество использования языка XAML:
- XAML отделяет внешний вид внешнего интерфейса от внутренней логики
- XAML — это самый простой способ представления пользовательских интерфейсов.
- XAML эффективно работает с инструментами
Настройки
Платформа WPF поддерживает множество полезных элементов управления, таких как:
- Редактирование элементов управления, таких как текстBox, ПроверятьBox, Переключатель
- Элементы управления списком, такие как списокBox, Просмотр списка, Просмотр дерева
- Информация о пользователе, такая как метка, WPF ProgressBar, всплывающая подсказка.
- Действие, такое как меню, кнопка и панель инструментов.
- Такие виды, как граница, изображение WPF и окно просмотра.
- Общие диалоговые окна, такие как OpenFileDialog и PrintDialog.
- Контейнеры, такие как TabContro, ScrollBar и Group.Box
- Макеты, такие как DocPanel, StackPanel и Grid.
- Навигация, такая как фрейм и гиперссылка.
Внешний вид элементов управления можно настроить с помощью стилей и шаблонов без программирования. Вы также можете создать собственный элемент управления, создав новый класс из соответствующего базового класса.
Внешний вид
WPF предоставляет возможность настройки внешнего вида вашего приложения. Он позволяет вам устанавливать объекты и значения для таких вещей, как шрифты, фон и т. д.
Функция стилей позволяет стандартизировать внешний вид всего продукта. Это позволяет вам заменить внешний вид по умолчанию, сохраняя при этом поведение по умолчанию.
Шаблон данных позволяет вам управлять визуализацией связанных данных по умолчанию. С помощью тем можно легко визуализировать стили операционной системы.
Макет и панели
Макет помогает вам правильно расположить и контролировать размер. Это часть процесса составления презентации для пользователя. Платформа WPF упрощает процесс разметки и обеспечивает лучшую адаптируемость внешнего вида пользовательского интерфейса.
Инфраструктура макета представлена различными классами: 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid и 5) Canvas
Графика
WPF предоставляет улучшенную графическую систему, например
- WPF использует независимые от устройства единицы, обеспечивая независимость от разрешения и устройства. Таким образом, каждый пиксель, который не зависит от устройства, автоматически масштабируется с помощью системы настройки количества точек на дюйм.
- WPF использует double вместо float и поддерживает более широкий набор цветов.
- Графический движок WPF спроектирован таким образом, что он может использовать преимущества графического оборудования, когда оно доступно.
Документы и печать
Платформа WPF предлагает три типа документов:
- Фиксированные документы: Этот тип документа поддерживает WYSIWПрезентация ЮГ.
- Расходные документы: Позволяет настраивать и перекомпоновывать содержимое на основе переменных времени выполнения, таких как размер окна и разрешение устройства.
- XPS-документы: Это постраничное представление электронного документа в формате XML. XPS — это кроссплатформенный формат документов с открытым исходным кодом.
WPF обеспечивает лучший контроль над системой печати. Это включает в себя удаленную печать и очереди. Более того, документы XPS можно распечатать напрямую, не конвертируя их в формат печати.
WPF Archiтекстура
WPF является частью платформы .NET. Он содержит как управляемый, так и неуправляемый код. Важные компоненты архитектуры WPF объяснены на рисунке ниже:

Компоненты архитектуры WPF
- PresentationFramework: помогает создавать элементы верхнего уровня, такие как элементы управления, стили, макет, окна и т. д.
- PresentationCore: содержит базовые типы, такие как UIElement, Visual из всех элементов управления, а фигуры получены из PresentationFramework.dll.
- CLR: делает процесс разработки продуктивным, предлагая такие функции, как управление памятью, обработка ошибок и т. д.
- Милкор: 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 по умолчанию прописаны следующие теги:
По умолчанию Grid является первым элементом.
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 — приложения можно создавать для запуска в браузере или в отдельном окне.
- 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 могут сосуществовать в одном приложении.