Разработка приложений

Windows Presentation Foundation (WPF) — это платформа представления, которую можно использовать для разработки приложений следующих типов.

  • Автономные приложения (традиционные приложения Windows, построенные как исполняемые сборки, которые устанавливаются и запускаются с клиентского компьютера).

  • XAML browser applications (XBAPs) (приложения, состоящие из страниц навигации, построенных как исполняемые сборки, которые размещаются в веб-браузерах, таких как Microsoft Internet Explorer и Mozilla Firefox).

  • Пользовательские библиотеки элементов управления (неисполняемые сборки, содержащие многократно используемые элементы управления).

  • Библиотеки классов (неисполняемые сборки, содержащие многократно используемые классы).

ПримечаниеПримечание

Крайне нежелательно использовать типы WPF в службе Windows.Если попытаться использовать эти средства в службе Windows, они могут работать не так, как ожидается.

Для построения этого набора приложений WPF реализует множество служб. Этот раздел предоставляет обзор этих служб и место, где искать дополнительные сведения.

В этом разделе содержатся следующие подразделы.

  • Управление приложениями
  • Ресурсы, Содержимое и Файлы данных WPF-приложения
  • Окна и диалоговые окна
  • Навигация
  • Размещение
  • Построение и Развертывание
  • Производительность приложения
  • Связанные разделы

Управление приложениями

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

  • Создание и управление общей инфраструктурой приложений (включая создание метода точки входа и цикл обработки сообщений Windows для получения системных и входящих сообщений).

  • Отслеживание и взаимодействие со временем жизни приложения.

  • Извлечение и обработка параметров командной строки.

  • Совместное использование свойств области приложения и ресурсов UI.

  • Обнаружение и обработка необработанных исключений.

  • Возврат кодов завершения.

  • Управление окнами в автономных приложениях.

  • Отслеживание переходов в XAML browser applications (XBAPs) и в отдельных приложениях с окнами переходов и фреймами.

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

Дополнительные сведения см. в разделе Общие сведения об управлении приложением.

Ресурсы, Содержимое и Файлы данных WPF-приложения

WPF расширяет основную поддержку внедренных ресурсов в Microsoft .NET Framework, обеспечивая поддержку трех типов неисполняемых файлов данных: ресурсов, содержимого и данных. Дополнительные сведения см. в разделе Ресурсы, Содержимое и Файлы данных WPF-приложения.

Ключевым компонентом поддержки неисполняемых файлов данных WPF является возможность их идентификации и загрузки с помощью уникального URI. Дополнительные сведения см. в разделе URI типа "pack" в WPF.

Окна и диалоговые окна

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

  • Создание и отображение окон.

  • Установка отношений владельца/собственного окна.

  • Настройка внешнего вида окна (например, размер, расположение, значки, текст заголовка, границы).

  • Отслеживание и взаимодействие со временем жизни окна.

Дополнительные сведения см. в разделе Общие сведения об окнах WPF.

Window поддерживает возможность создания особого типа окна, называемого диалоговым окном. Могут быть созданы модальные и немодальные типы диалоговых окон.

Для удобства и получения выгоды от повторного использования и согласованного пользовательского интерфейса между приложениями WPF предоставляет три общих диалоговых окна Windows: OpenFileDialog, SaveFileDialog и PrintDialog.

Окно сообщения представляет собой особый тип диалогового окна для отображения важной текстовой информации для пользователей и для простых ответов (да/нет/ОК/Отмена) на вопросы. Для создания и отображения окон сообщений, вы используете класс MessageBox.

Дополнительные сведения см. в разделе Общие сведения о диалоговых окнах.

Навигация

WPF поддерживает навигацию в стиле Web с помощью страниц (Page) и гиперссылок (Hyperlink). Навигация может быть реализована разнообразными способами, включая следующее.

  • Автономные страницы, размещенные в веб-браузере.

  • Страницы, скомпилированные в приложение XBAP, которое размещается в веб-браузере.

  • Страницы компилируются в автономное приложение и размещаются с помощью окна навигации (NavigationWindow).

  • Страницы, размещенные с помощью фрейма (Frame), который может размещаться в отдельной странице, или странице которая компилируется либо в XBAP, либо в автономное приложение.

Для облегчения навигации WPF реализует следующее:

  • NavigationService, совместно используемый обработчик переходов для обработки запросов перемещения, которые используются Frame, NavigationWindow и XBAPs для поддержки переходов внутри приложения.

  • Методы навигации для инициирования навигации.

  • События переходов для отслеживания и взаимодействия со временем жизни навигации.

  • Запоминание переходов назад и вперед, используя журнал, который может быть проверен и обработан.

Сведения см. в разделе Общие сведения о переходах.

WPF также поддерживает специальный тип навигации, известный как структурированная навигация. Структурированная навигация может быть использована для вызова одной или нескольких страниц, которые возвращают данные структурированным и предсказуемым способом, согласованным с вызывающими функциями. Эта возможность зависит от класса PageFunction<T>, который описан далее в разделе Общие сведения о структурной навигации. PageFunction<T> также служит для упрощения создания сложных топологий переходов, которые описаны в разделе Общие сведения о топологии переходов.

Размещение

XBAPs может размещаться в браузере Microsoft Internet Explorer или Firefox. Каждая модель размещения имеет свой собственный набор разрешений и ограничений, которые рассматриваются в разделе Размещение WPF-приложений.

Построение и Развертывание

Хотя простые приложения WPF могут быть построены из командной строки с помощью компиляторов командной строки, WPF интегрируется с Microsoft Visual Studio для обеспечения дополнительной поддержки, которая упрощает процесс разработки и построения. Дополнительные сведения см. в разделе Построение приложения WPF.

В зависимости от типа приложения вы можете выбрать один или несколько параметров развертывания. Дополнительные сведения см. в разделе Развертывание приложений WPF.

Производительность приложения

Вопросы, связанные с производительностью WPF, представлены в разделе Улучшение производительности приложений WPF.

Связанные разделы

Заголовок

Описание

Общие сведения об управлении приложением

Общие сведения о классе Application, включая управление временем существования приложения, окнами, ресурсами приложений и навигацией.

Окна в приложениях WPF

Сведения об управлении окнами в приложении, включая способы использования класса Window и диалоговых окон.

Общие сведения о переходах

Общие сведения об управлении навигацией по страницам приложения.

Общие сведения о надстройках WPF

Сведения об использовании модели настроек .NET Framework для создания расширяемых приложений WPF.

Размещение WPF-приложений

Общие сведения о XAML browser applications (XBAPs).

Построение и развертывание приложений WPF

Описание процесса построения и развертывания приложения WPF.

Производительность

Советы по оптимизации производительности приложения WPF.

Введение в WPF

Описание основных возможностей WPF.

Пошаговое руководство. Начало работы с WPF

Пошаговое руководство, в котором демонстрируется создание приложения WPF с использованием навигации по страницам, макета, элементов управления, изображений, стилей и привязок.