Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вам не нужно переписать WPF, Windows Forms или приложение Win32, чтобы воспользоваться современными функциями Windows. Windows App SDK и более широкие Windows платформы предлагают модульные возможности, которые можно применять постепенно, в собственном темпе.
Используйте приведенную ниже таблицу, чтобы найти подходящую отправную точку для вашей ситуации.
Выбор пути модернизации
| Я хочу... | Рекомендуемый подход |
|---|---|
| Добавление современных элементов управления пользовательского интерфейса (Fluent, округленные угла, темный режим) в мое приложение WPF или Win32 | Размещение WinUI контролов в приложении WPF (XAML Islands) |
| Использование функций платформы Windows (уведомления, общий доступ, средства выбора файлов) в приложении WPF или WinForms | Вызов среда выполнения Windows API в настольных приложениях |
| Упаковка приложения для Microsoft Store или корпоративного развертывания | Упаковка настольного приложения с помощью MSIX |
| Разблокируйте функции, требующие удостоверения пакета (push-уведомления, фоновые задачи, расширения приложений, api Windows ИИ, общий доступ к целевым объектам и многое другое) | Предоставление удостоверения для непакетированного приложения |
| Интегрируйте моё приложение с функциями оболочки Windows 11 (макеты привязки, контекстные меню, панель задач) | Интеграция с функциями Windows 11 |
| Переход к полностью современному приложению с помощью WinUI 3 с течением времени | Миграция на WinUI 3 |
| Добавьте возможности искусственного интеллекта на устройство в моё настольное приложение. | Windows AI Foundry |
Что такое Windows App SDK?
Windows App SDK — это рекомендуемый способ доступа к современным функциям платформы Windows из любого классического приложения — WPF, Windows Forms, Win32 или WinUI 3. Он обеспечивает согласованный набор версионированных API, работающих как в Windows 10, так и в Windows 11, отвязанных от цикла выпуска ОС.
Вы можете использовать Windows App SDK в существующем приложении, не изменяя платформу пользовательского интерфейса. Добавьте его в виде пакета NuGet и вызовите его API вместе с существующим кодом.
Добавление современного пользовательского интерфейса без полной перезаписи
Вы можете разместить элементы управления WinUI 3 в существующих окнах приложений WPF или Win32 с помощью Windows App SDK. Это позволяет постепенно модернизировать пользовательский интерфейс ( одно окно или диалоговое окно за раз) без переноса всего приложения.
Рекомендации по размещению и использованию элементов управления WinUI 3 в существующем приложении см. в разделе "Host WinRT XAML controls in desktop apps (XAML Islands)". Сведения о низкоуровневых визуальных эффектах и анимациях см. в статье "Модернизация классического приложения с помощью визуального слоя".
Вызов API среда выполнения Windows
Многие функции платформы Windows — push-уведомления, контракт общего доступа, средства выбора файлов, Bluetooth и многое другое — предоставляются через API-интерфейсы среда выполнения Windows (WinRT). Эти API можно вызывать непосредственно из приложений WPF, Windows Forms и C++ Win32.
Дополнительные сведения см. в разделе Вызов API среды выполнения Windows в настольных приложениях.
Пакет с помощью MSIX
Упаковка вашего приложения в формате MSIX обеспечивает современный и надежный процесс установки, полноценное удаление, автоматическое обновление и доступ к Microsoft Store, а также корпоративным конвейерам развертывания. Упаковка MSIX отличается от модернизации кода приложения— вы можете упаковывать приложение WPF или Win32 с помощью MSIX, не изменяя исходный код.
Дополнительные сведения см. в статье о создании пакета MSIX из кода.
Функции, которым требуется идентификатор пакета
Некоторые функции платформы Windows, включая push-уведомления, фоновые задачи, расширения приложений, механизмы общего доступа, Windows AI Foundry API-интерфейсы, ассоциации файлов и задачи запуска, требуют, чтобы приложение было package identity во время выполнения. Можно предоставить идентификатор для приложения без полного пакета MSIX. Этот подход иногда называется разреженным пакетом или упаковкой с внешним расположением.
Дополнительные сведения можно найти здесь
- Обзор идентификации пакета
- Предоставить идентификацию непакетированному приложению
- Функции, требующие идентификацию пакета
Интеграция с функциями оболочки Windows 11
Windows 11 представлена новая точка интеграции оболочки — макеты оснастки, обновленные контекстные меню, круглые угловые окна и интеграция панели задач. Многие из них доступны для неупакованных десктопных приложений без изменений кода. Для других требуются расширения упаковки.
Дополнительные сведения см. в разделе Интеграция вашего настольного приложения в Windows с помощью расширений для упаковки.
Миграция на WinUI 3
Если вы планируете более крупные усилия по модернизации ( или создание новых функций в виде отдельных модулей) рассмотрите возможность создания новых компонентов с помощью WinUI 3 и Windows App SDK. WinUI 3 — это современная собственная платформа пользовательского интерфейса для настольных приложений Windows и рекомендуется для разработки новых приложений.
Чтобы приступить к работе, см. статью "Создание первого приложения WinUI 3 ".
Windows developer