Учебники

Учебник WPF

Что такое WPF?

WPF — это сокращение от Windows Presentation Foundation. Это идеальный каркас для создания приложений Windows. Идея, лежащая в основе введения инфраструктуры WPF, заключалась в том, что пользователь мог разработать богатый пользовательский интерфейс, состоящий из 3D, анимации, насыщенного цвета с минимальной сложностью кода.

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

WPF — это векторный движок рендеринга, использующий аппаратное ускорение современных видеокарт, что делает Ul более быстрым и масштабируемым. Приложения 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 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 Ускоренное время установки и улучшенная производительность для растровых эффектов. Новые элементы управления: календарь. DataGrid, DatePicker.
Мультитач и Манипуляции
4.5.1 2013 4.5.1 VS 2013 Новый элемент управления ленты
Новый интерфейс INotifyDataErrorlnfo
4.5.2 2014 4.5.2 Не Доступно Без серьезных изменений
Без серьезных изменений
4,6 2015 4,6 VS 2015 Прозрачное дочернее окно с поддержкой
HDPI и Touch.

Особенности WPF

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

управления

WPF Framework поддерживает много полезных элементов управления, таких как:

  • Редактирование элементов управления, таких как TextBox, CheckBox, RadioButton
  • Элементы управления списком, такие как ListBox, ListView, TreeView
  • Информация о пользователе, такая как Label, ProgressBar, ToolTip
  • Действие, такое как Меню, Кнопка и Панель инструментов
  • Появления, такие как Граница, Изображение и Viewbox
  • Общие диалоговые окна, такие как OpenFileDialog и PrintDialog.
  • Контейнеры, такие как TabContro, ScrollBar и GroupBox
  • Макеты, такие как DocPanel, StackPanel и Grid
  • Навигация, такая как Frame и Hyperlink

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

Внешность

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

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

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

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

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

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

Графика

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

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

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

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

  • Фиксированные документы: этот тип документа поддерживает WYSIWYG презентацию.
  • Передача документов: позволяет настраивать и переформатировать содержимое на основе переменных времени выполнения, таких как размер окна и разрешение устройства.
  • Документы XPS: это постраничное представление электронной бумаги в формате на основе XML. XPS — это открытый и кроссплатформенный формат документов.

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

WPF Архитектура

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

Наиболее важными компонентами части архитектуры WPF являются —

  • PresentationFramework : помогает создавать элементы верхнего уровня, такие как элементы управления, стили, макет, окна и т. Д.
  • PresentationCore : содержит базовые типы, такие как UIElement, Visual из всех элементов управления, а формы получены из PresentationFramework.dll.
  • CLR : делает процесс разработки продуктивным, предлагая такие функции, как управление памятью, обработка ошибок и т. Д.
  • Milcore: Milcore является частью неуправляемого кода, который предлагает тесную интеграцию с DirectX.
  • DirectX: это низкоуровневый API, который позволяет отображать графику WPF. DirectX переговоры взаимодействуют с драйверами и визуализируют контент.
  • User32: это основной API, который широко используется многими программами. Он управляет памятью и процессами разделения. User32 помогает вам решить, какой элемент будет расположен на экране.
  • Ядро. Входные данные поступают в виде сигнала от драйвера устройства режима ядра и направляются к правильному процессу и соединяются с ядром Windows и User32.

Установка WPF

Перейдите по этой ссылке для установки WPF https://www.guru99.com/download-install-visual-studio.html

Сборка вашего первого WPF

В этом разделе мы разработаем базовое приложение WPF. Итак, давайте начнем с простой реализации, выполнив шаги, приведенные ниже.

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

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

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

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

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

MainWindow.xaml имеет

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

В окнах XAML следующие теги пишутся по умолчанию

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

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

Шаг 4) В наборе инструментов

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

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

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

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

Поздравляем! Вы разработали и создали свое первое приложение WPF.

WPF против WinForms

WPF

WinForms

It’s a newer framework, so it is more in tune with current standards.

It’s older, so it is more tried and tested.

It’s flexible and features rich. You can design very rich applications without coding or buying controls.

Not so feature rich

Developers of 3rd party controls are focussed on compatibility with WPF as it’s the future.

There are many third-party controls that you can buy or get for free.

XAML allows you to create and edit your GUI easily. It allows the work to be split between a designer (XAML) and a programmer (C#, ASP.net, etc.).

In Windows Forms all the code written in one place.

WPF can create user interfaces for both Windows applications and web applications like Silverlight and XBAP.

No such support

WPF’s in-box control suite is limited

In-box controls are very powerful

Type of Applications built with WPF

  • WPF is trying to replace webforms and windows forms — apps can be built to run in a browser or a standalone window
  • Windows Forms and WPF pages can co-exist in the same application
  • You can develop page/window applications

Quick Guide

  • WPF is a short abbreviation of Windows Presentation Foundation
  • It is an ideal platform to use if you require to deal with various media types
  • Windows 1.0 was the first GUI environment from Microsoft which was working on DOS and relying on the GDI and USER systems
  • WPF offers Interoperability with Windows Forms controls
  • WPF are divided into four different types like UIElement, FrameworkElement ContentElement & FrameworkContentElement
  • The most important components of part of WPF architecture are PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32, and Kernel
  • WPF представляет собой более новый фреймворк, сравнивающий WinForms, поэтому он больше соответствует современным стандартам
  • Страницы Windows Forms и WPF могут сосуществовать в одном приложении