Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Windows 11 предлагает множество функций, которые можно использовать для предоставления современного интерфейса в классических приложениях. Большинство этих функций доступны в виде модульных компонентов, которые вы можете использовать в классических приложениях по своему усмотрению, не переписывая код приложения для другой платформы. Вы можете улучшить существующие настольные приложения, выбрав функции Windows, которые хотите использовать.
В этом разделе описываются функции, которые можно использовать в настольных приложениях сегодня.
Применение функций Windows 11
Windows 11 — это результат визуальной эволюции операционной системы Windows, который предоставляет новые функции для улучшения базовых возможностей работы с приложениями и повышения удобства работы пользователей. Многие из этих функций включены по умолчанию для приложений, но для классических приложений может потребоваться интеграция с некоторыми новыми функциями. К таким функциям относятся скругленные углы окон верхнего уровня, мгновенные макеты и обновленное контекстное меню в Проводнике.
Дополнительные сведения см. в разделе "Разработка приложений Windows" — рекомендации.
Пакет SDK для приложений Windows
Пакет SDK для приложений Windows — это набор компонентов и инструментов для разработчиков, которые представляют новый этап развития платформы для разработки приложений для Windows. Пакет SDK для приложений для Windows предоставляет унифицированный набор API-интерфейсов и средств, которые можно единообразно применять для любого классического приложения в Windows 11 и в разных версиях Windows 10. Шаблоны проектов можно использовать для создания классических приложений, использующих пакет SDK для приложений Windows с пользовательским интерфейсом WinUI, или использовать пакет SDK для приложений Windows в существующих классических приложениях.
Дополнительные сведения см. в статье SDK для приложений для Windows.
WinUI
WinUI — это собственная платформа взаимодействия с пользователем для классических приложений Windows и UWP. Библиотека WinUI изначально разрабатывалась в качестве инструментария, предоставляя новые и обновленные версии элементов управления WinRT XAML для приложений UWP, нацеленных на более ранние версии Windows. Последняя версия WinUI выросла в области и теперь является современной платформой собственного пользовательского интерфейса для классических приложений Windows.
WinUI можно использовать в классических приложениях следующим образом:
- Используйте WinUI для создания классических приложений (см. раздел "Создание первого проекта WinUI") с полностью пользовательским интерфейсом на основе WinUI. WinUI — это одна из многих функций, предоставляемых пакетом SDK для приложений Windows.
- Вы можете обновить существующие классические десктопные приложения WPF, Windows Forms и C++ (Win32) с помощью XAML Islands и интегрировать WinUI для работы с элементами управления UWP.
Дополнительные сведения см. в статье WinUI.
API среды выполнения Windows
Для интеграции современных возможностей, которые оживляют пользовательский интерфейс, многие API среды выполнения Windows можно вызывать напрямую из ваших приложений WPF, Windows Forms или настольных приложений на C++. Например, вы можете вызывать API-интерфейсы среды выполнения Windows, чтобы добавлять toast-уведомления в ваше настольное приложение.
Дополнительные сведения см. в статье об использовании API-интерфейсов среды выполнения Windows для классических приложений.
Развертывание MSIX
MSIX — это современный универсальный формат пакетов для упаковки любых приложений для Windows, включая приложения UWP, WPF, Windows Forms и Win32. MSIX объединяет лучшие аспекты технологий установки 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, созданные с помощью пакета SDK для приложений Windows (см. статью "Создание первого проекта WinUI"). .NET также поддерживает приложения Windows Presentation Foundation (WPF) и Windows Forms (WinForms). Используя .NET, вы можете запускать новые и существующие классические приложения Windows и пользоваться всеми преимуществами .NET.
Дополнительные сведения см. в статье о новых возможностях .NET 10.
Хостинг элементов управления 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.
Дополнительные сведения см. в разделе Использование визуального уровня в настольных приложениях.
Дополнительные функции, доступные приложениям с идентификатором пакета
Некоторые современные возможности Windows доступны только настольным приложениям с идентификацией пакета во время выполнения. Эти функции включают в себя определенные интерфейсы API среды выполнения Windows, расширения пакетов и компоненты UWP. Дополнительные сведения см. в разделе "Функции, требующие удостоверения пакета".
Элементы управления WinRT XAML, оптимизированные для настольных приложений
Независимо от того, разрабатываете ли вы UWP-приложение, нацеленное исключительно на настольные устройства, или хотите использовать элементы управления WinRT XAML в классическом приложении WPF, Windows Forms или C++, следующие новые и обновленные элементы управления WinRT XAML созданы для обеспечения оптимизированного для настольных систем взаимодействия в рамках системы Fluent Design. Эти элементы управления появились в Windows 10 версии 1809, (обновление за октябрь 2018 г. или версия 10.0.17763).
| Контроль | Описание |
|---|---|
| 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.
Адаптивные карточки
Адаптивные карточки — это открытая платформа для кроссплатформенных приложений, которая позволяет привычным и согласованным способом обмениваться между устройствами и платформами содержимым пользовательского интерфейса на основе карточек.
Дополнительные сведения см. в документации по адаптивным карточкам.
Windows developer