Модернизация классических приложений

В Windows 11 и Windows 10 предлагается много функций для реализации современных возможностей в классических приложениях. Большинство этих функций доступны в виде модульных компонентов, которые вы можете использовать в классических приложениях по своему усмотрению, не переписывая код приложения для другой платформы. Вы можете улучшить существующие классические приложения, выбрав требуемые функции Windows.

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

Примечание.

Нужна помощь в миграции классических приложений в Windows 10 и более поздних версий? Служба App Assure предоставляет прямую бесплатную поддержку для разработчиков, которые переносят свои приложения в Windows 10 и более поздних версий. Эта программа доступна для всех независимых поставщиков программного обеспечения и соответствующих предприятий. Дополнительные сведения о соответствии критериям, а также о самой программе см. здесь: /fasttrack/win-10-app-assure-assistance-offered. Чтобы начать работу прямо сейчас, отправьте запрос.

Применение функций Windows 11

Windows 11 — это результат визуальной эволюции операционной системы Windows, который предоставляет новые функции для улучшения базовых возможностей работы с приложениями и повышения удобства работы пользователей. Многие из этих функций включены по умолчанию для приложений, но для классических приложений может потребоваться интеграция с некоторыми новыми функциями. К таким функциям относятся скругленные углы окон верхнего уровня, макеты прикрепления и обновленное контекстное меню в проводнике.

Дополнительные сведения см. в статье 11 основных действий, которые можно выполнить, чтобы оптимизировать работу вашего приложения в Windows 11.

Пакет SDK для приложений Windows

Пакет SDK для приложений Windows — это набор компонентов и инструментов для разработчиков, которые представляют новый этап развития платформы для разработки приложений для Windows. Пакет SDK для приложений для Windows предоставляет унифицированный набор API-интерфейсов и средств, которые можно единообразно применять для любого классического приложения в Windows 11 и в разных версиях Windows 10. Вы можете использовать шаблоны проектов для создания классических приложений, использующих пакет SDK для приложений для Windows с пользовательским интерфейсом на основе WinUI 3. Кроме того, можно использовать пакет SDK для приложений для Windows в существующих классических приложениях.

Дополнительные сведения см. в статье SDK для приложений для Windows.

WinUI

WinUI — это собственная платформа взаимодействия с пользователем для классических приложений Windows и UWP. Библиотека WinUI разрабатывалась как набор средств. Она предоставляла новые и обновленные версии элементов управления WinRT XAML для приложений UWP, предназначенных для более ранних версий Windows. Последняя версия, WinUI 3, отличается расширенной областью применения и теперь является современной собственной платформой пользовательского интерфейса для классических приложений для Windows.

WinUI можно использовать в классических приложениях следующим образом:

  • Используйте WinUI 3 для создания классических приложений (см. статью Создание простого проекта WinUI 3), у которых пользовательский интерфейс будет полностью основан на WinUI 3. WinUI 3 — это одна из множества функций в пакете SDK для приложений для Windows.
  • Вы можете обновить существующие классические приложения WPF, Windows Forms и C++ (Win32) с использованием XAML Islands и разместить элементы управления WinUI 2.

Дополнительные сведения см. в статье WinUI.

API среды выполнения Windows

Для интеграции современных возможностей, которые могут заинтересовать пользователей, большинство API среды выполнения Windows можно вызывать напрямую из классических приложений WPF, Windows Forms или C++. Например, вы можете вызывать API-интерфейсы среды выполнения Windows, чтобы добавлять всплывающие уведомления в приложение.

Дополнительные сведения см. в статье об использовании API-интерфейсов среды выполнения Windows для классических приложений.

Развертывание MSIX

MSIX — это современный универсальный формат пакетов для упаковки любых приложений для Windows, включая приложения UWP, WPF, Windows Forms и Win32. Этот современный надежный процесс упаковки сочетает в себе преимущества технологий установки MSI, APPX, App-V и ClickOnce.

Упаковав классические приложения для Windows в MSIX-пакеты, вы получаете доступ к надежным возможностям установки и обновления, управляемой модели безопасности с гибкой системой возможностей, поддержке Microsoft Store, возможностям управления предприятием и многим пользовательским моделям распространения.

Дополнительные сведения см. в статье о создании пакета MSIX из кода.

Динамическое использование пакетов платформы MSIX во время выполнения

Функция динамических зависимостей в пакете SDK для приложений для Windows и в ОС Windows 11 позволяет приложениям ссылаться на пакеты платформы MSIX во время выполнения. Эта функция предназначена в основном для распаковки классических приложений для вызова API, предоставляемых пакетами платформы MSIX.

Дополнительные сведения см. в статье Динамическое использование пакетов платформы MSIX в классическом приложении.

.NET

.NET (прежнее название — .NET Core) поддерживает классические приложения Windows, включая приложения WinUI 3, созданные с помощью Windows App SDK (см. статью Создание первого проекта WinUI 3). .NET также поддерживает приложения Windows Presentation Foundation (WPF) и Windows Forms (WinForms). Используя .NET, вы можете запускать новые и существующие классические приложения Windows и пользоваться всеми преимуществами .NET.

Дополнительные сведения см. в статье Новые возможности .NET 6.

Размещение элементов управления WinRT XAML (XAML Islands)

Начиная с Windows 10 версии 1903, можно добавить элемент управления XAML платформы UWP в любой элемент пользовательского интерфейса классического приложения WPF, Windows Forms или C++, который связан с дескриптором окна (HWND). Это означает, что новые функции UWP, например рукописный ввод Windows, можно объединить с элементами управления, поддерживающими систему Fluent Design, в окнах и других средствах для отображения в классических приложениях. Такой сценарий разработки иногда называют XAML Islands.

См. сведения об использовании элементов управления WinRT XAML в классических приложениях.

Использование визуального уровня в классических приложениях

Теперь API среды выполнения Windows можно применять и в классических приложениях, созданных не на платформе UWP, чтобы улучшить внешний вид и функции этих приложений (WPF, Windows Forms и C++), а также воспользоваться последними функциями пользовательского интерфейса Windows, которые доступны только через UWP. Это удобно, когда нужно создать пользовательские функции, которые невозможно реализовать с помощью встроенных элементов управления WinRT XAML, размещаемых с использованием XAML Islands.

Дополнительные сведения см. в статье Using the Visual layer in desktop apps (Использование визуального уровня в классических приложениях).

Дополнительные функции, доступные приложениям с идентификатором пакета

Некоторые современные возможности Windows доступны только классическим приложениям с удостоверением пакета во время выполнения. Эти функции включают в себя определенные интерфейсы API среды выполнения Windows, расширения пакетов и компоненты UWP. Дополнительные сведения см. в разделе "Компоненты, требующие удостоверения пакета".

Элементы управления WinRT XAML, оптимизированные для классических приложений

Приведенные ниже новые и обновленные элементы управления WinRT XAML предоставляют средства рабочего стола как часть системы Fluent Design. Эти возможности можно применять независимо от того, создаете ли вы приложение UWP, предназначенное только для компьютеров, или хотите использовать элементы управления WinRT XAML в классическом приложении WPF, Windows Forms или C++. Эти элементы управления появились в Windows 10 версии 1809, (обновление за октябрь 2018 г. или версия 10.0.17763).

Control Description
MenuBar Обеспечивает простой и быстрый способ предоставления набора команд для приложений, которым могут понадобиться дополнительные функции упорядочения или группирования, недоступные в CommandBar.
DropDownButton Отображение шеврона в качестве визуального индикатора, который свидетельствует о наличии вложенного всплывающего меню с дополнительными параметрами.
SplitButton Кнопка, состоящая из двух частей, которые можно использовать по-отдельности. Одна часть представляет собой стандартную кнопку, которая вызывает немедленное действие. Другая часть позволяет вызывать всплывающий элемент с дополнительными параметрами, которые пользователь может выбрать.
ToggleSplitButton Кнопка, состоящая из двух частей, которые можно использовать по-отдельности. Одна часть выполняет функцию переключателя. Другая часть позволяет вызывать всплывающий элемент с дополнительными параметрами, которые пользователь может выбрать.
CommandBarFlyout Позволяет отобразить стандартные задачи пользователя в контексте элемента на холсте пользовательского интерфейса.
ComboBox Теперь поле со списком можно сделать редактируемым, чтобы пользователь мог ввести значения, которые не указаны в элементе управления.
Представление в виде дерева Теперь можно настроить представление в виде дерева для реализации привязки данных, шаблонов элементов и перетаскивания элементов.
DataGridView Позволяет гибко отображать коллекцию данных в строках и столбцах. Этот элемент управления доступен в наборе средств сообщества Windows.

Другие технологии для современных классических приложений

Microsoft Graph

Microsoft Graph — это коллекция API, которые можно использовать для создания приложений для организаций и клиентов, взаимодействующих с данными миллионов пользователей. Microsoft Graph предоставляет REST API и клиентские библиотеки для доступа к данным в следующих службах:

  • Azure Active Directory
  • Приложение Office Microsoft 365: SharePoint, OneDrive, Outlook/Exchange, Microsoft Teams, OneNote, Планировщик и Excel
  • Службы Enterprise Mobility and Security: Identity Manager, Intune, Advanced Threat Analytics и Advanced Threat Protection.
  • Службы Windows: действия и устройства

Дополнительные сведения см. в документации по Microsoft Graph.

Адаптивные карточки

Адаптивные карточки — это открытая платформа для кроссплатформенных приложений, которая позволяет привычным и согласованным способом обмениваться между устройствами и платформами содержимым пользовательского интерфейса на основе карточек.

Дополнительные сведения см. в документации по адаптивным карточкам.