Учебное пособие по WPF для начинающих: как создать приложение [пример]

Что такое WPF?

WPF представляет собой основу для построения Windows приложения, которые позволяют пользователям разрабатывать богатые пользовательские интерфейсы с 3D-анимацией и насыщенными цветами с меньшим количеством кода.plexитность. Это механизм векторного рендеринга, использующий аппаратное ускорение современных видеокарт, что делает Ul более быстрым и масштабируемым. WPF означает Windows Презентация Foundation.

WPF можно рассматривать как развитие WinForms. Он производит легко operaсистема графического отображения для Windows. Он предлагает легкое разделение между пользовательским интерфейсом и бизнес-логикой.

Приложения WPF можно развертыватьyed в вашей системе как отдельная настольная программа или как встроенный объект на веб-сайте.

Почему именно WPF?

Есть много причин для использования платформы WPF, вот некоторые из них:

  • Идеальная платформа для использования, если вам нужно иметь дело с различными типами медиа.
  • WPF позволяет создавать пользовательский интерфейс со шкурой. Это также поможет вам, когда вам нужно загрузить часть пользовательского интерфейса или вы хотите связать данные XML.
  • Он позволяет вам воспользоваться преимуществами большой библиотеки классов .NET, поскольку она построена на .NET
  • Независимость от разрешения: приложения, разработанные с использованием WMF, можно запускать на мобильных устройствах или 20-дюймовом мониторе.
  • WPF основан на DirectX вместо WinAPI. Он предлагает графическую систему клиентского компьютера. Таким образом, предлагая большую мощность графического рендеринга
  • Поддерживает модель потокового документа, которая обеспечивает качество макета «настольной публикации».
  • Внешний вид и поведение слабо связаны. Это позволяет дизайнерам и разработчикам работать над двумя отдельными моделями.
  • В рамках WMF вы можете графически разрабатывать инструменты на основе простых XML-документов вместо анализа кода.
  • Позволяет использовать аппаратное ускорение для драwing графический интерфейс для лучшей производительности

История WPF

Windows 1.0 была первой средой графического интерфейса от Microsoft. Он работает как слой поверх DOS, опираясь на системы GDI и USER для графического и пользовательского интерфейса.

DirectX был представлен в 1995 году как высокопроизводительная графическая система. Он был нацелен на игры и другие среды, связанные с графикой. За прошедшие годы было выпущено множество версий Directx9, которые предоставляют библиотеку для использования с кодом mange.Net.

Версия WPF Год выпуска .Net Версия Visual Studio Версия Особенности
3.0 2006 3.0 Нет Первый выпуск.
Однако разработку WPF можно выполнить с помощью VS 2005.
3.5 2007 3.5 ВС 2008 Модификации и улучшения:
Модель приложения, привязка, элементы управления, документы, аннотации и элементы 3-D Ul.
3.5 SP1 2008 3.5 SP1 Нет Встроенная поддержка заставки. Новое управление веб-браузером, поддержка пиксельных шейдеров 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

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

Далее в этом WPF Учебник по C #мы узнаем об основных типах и инфраструктуре WPF.

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

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

  • элемент пользовательского интерфейса
  • КаркасЭлемент
  • КонтентЭлемент
  • FrameworkContentElement

Эти классы известны как классы базовых элементов. Он обеспечивает foundation для модели составления пользовательских интерфейсов.

Пользовательские интерфейсы 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 и представление.box
  • Общий диалог boxтакие как OpenFileDialog и PrintDialog.
  • Контейнеры, такие как TabContro, ScrollBar и Group.Box
  • Макеты, такие как DocPanel, StackPanel и Grid.
  • Навигация, такая как фрейм и гиперссылка.

Внешний вид элементов управления можно настроить с помощью стилей и шаблонов без программирования. Вы также можете создать собственный элемент управления, создав новый класс из соответствующего базового класса.

Внешний вид

WPF предоставляет возможность настройки внешнего вида вашего приложения. Он позволяет вам устанавливать объекты и значения для таких вещей, как шрифты, фон и т. д.

Функция стилей позволяет стандартизировать внешний вид всего продукта. Это позволяет вам заменить внешний вид по умолчанию, сохраняя при этом поведение по умолчанию.

Шаблон данных позволяет вам управлять визуализацией связанных данных по умолчанию. С помощью тем вы можете легко визуализировать стили из operaсистема тинг.

Макет и панели

Макет помогает вам правильно расположить и контролировать размер. Это часть процесса составления презентации для пользователя. Платформа WPF упрощает процесс разметки и обеспечивает лучшую адаптируемость внешнего вида пользовательского интерфейса.

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

Графика

WPF предоставляет улучшенную графическую систему, например

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

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

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

  • Фиксированные документы: Этот тип документа поддерживает WYSIWПрезентация ЮГ.
  • Расходные документы: Позволяет настраивать и перекомпоновывать содержимое на основе переменных времени выполнения, таких как размер окна и разрешение устройства.
  • XPS-документы: Это постраничное представление электроники.tronIC документ в формате на основе XML. XPS — это кроссплатформенный формат документов с открытым исходным кодом.

WPF обеспечивает лучший контроль над системой печати. Это включает в себя удаленную печать и очереди. Более того, документы XPS можно распечатать напрямую, не конвертируя их в формат печати.

WPF Archiтекстура

WPF является частью платформы .NET. Он содержит как управляемый, так и неуправляемый код. Важные компоненты WPF archiтектура поясняется на рисунке ниже:

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

Компоненты WPF archiтекстура

  • PresentationFramework: помогает создавать элементы верхнего уровня, такие как элементы управления, стили, макет и т. д. windows, и т.д.
  • 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. Итак, давайте начнем простую реализацию следующим образом.wing шаги, приведенные в примерах приложений WPF ниже.

Шаг 1) In Visual Studio Перейдите в Файл > Проект.

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

Шаг 2) В новом окне проекта

  1. Выберите приложение WPF
  2. Введите имя как «MyWPF».
  3. нажмите OK

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

Шаг 3) Visual Studio по умолчанию создает два файла

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

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

MainWindow.xaml имеет

  1. Окно дизайна
  2. XAML файл

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

В XAML windows, следующийwing теги прописаны по умолчанию

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

По умолчанию Grid является первым элементом.

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

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

Шаг 4) В инструментеbox,

  1. Перетащите текстBox элемент в окне дизайна
  2. ТекстBox появится в окне дизайна
  3. Вы увидите код XAML для текста.Box добавленный

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

Шаг 5) Измените текст на «Первая программа WPF».

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

Шаг 6) Нажмите кнопку «Пуск»

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

Шаг 7) Вы увидите окно на выходе

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

Поздравляем! Вы спроектировали и создали свое первое приложение WPF. Далее в этом руководстве по WPF для начинающих мы увидим разницу между WPF и WinForms.

WPF против WinForms

WPF WinForms
Это более новая структура, поэтому она больше соответствует текущим стандартам. Он старше, поэтому более проверен.
Он гибкий и имеет богатые возможности. Вы можете создавать очень многофункциональные приложения без написания кода или покупки элементов управления. Не такой многофункциональный
Разработчики 3rd Сторонние элементы управления ориентированы на совместимость с WPF, поскольку за этим будущее. Существует множество сторонних элементов управления, которые вы можете купить или получить бесплатно.
XAML позволяет легко создавать и редактировать графический интерфейс. Это позволяет разделить работу между дизайнером (XAML) и программистом (C#, ASP.net и т. д.). In Windows Формирует весь код, написанный в одном месте.
WPF может создавать пользовательские интерфейсы для обоих Windows приложения и веб-приложения, такие как Silverlight и XBAP. Нет такой поддержки
WPF в-box набор средств управления ограничен В-box элементы управления очень мощные

Тип приложений, созданных с помощью WPF

  • WPF пытается заменить веб-формы и windows формы — приложения можно создавать для запуска в браузере или в отдельном окне.
  • Windows Формы и страницы WPF могут сосуществовать в одном приложении.
  • Вы можете разрабатывать страничные/оконные приложения.

Краткое пособие

  • Полная форма WPF: Windows Презентация Foundation
  • Это идеальная платформа для использования, если вам нужно иметь дело с различными типами медиа.
  • Windows 1.0 была первой средой графического интерфейса от Microsoft который работал над DOS и опирался на системы GDI и USER
  • WPF в .NET предлагает Interoperaспособность с Windows Элементы управления формами
  • WPF разделен на четыре разных типа, такие как UIElement, FrameworkElement ContentElement и FrameworkContentElement.
  • Наиболее важные компоненты части WPF archiтектуры: PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 и Kernel.
  • WPF — это новый фреймворк.ares WinForms, поэтому он больше соответствует текущим стандартам.
  • Windows Формы и страницы WPF могут сосуществовать в одном приложении.