Начало работы с библиотекой пользовательского интерфейса Windows 2
Библиотека пользовательского интерфейса Windows 2.8 — это последняя стабильная версия WinUI, которую можно использовать для создания рабочих приложений UWP (и классических приложений, использующих XAML Islands).
Эта библиотека доступна в виде пакета NuGet, который можно добавить в любой новый или существующий проект Visual Studio.
Примечание.
Дополнительные сведения о создании классических приложений Windows с использованием последней версии WinUI 3 см. в статье Библиотека пользовательского интерфейса Windows 3.
Загрузка и установка библиотеки пользовательского интерфейса Windows
Скачайте Visual Studio 2022 и убедитесь, что вы выбрали рабочую нагрузку разработки универсальная платформа Windows в установщике Visual Studio.
Откройте существующий проект или создайте новый проект с помощью шаблона "Пустое приложение"в Visual C# -> Windows -> Универсальный, или используя соответствующий шаблон для вашей языковой проекции.
Важно!
Чтобы использовать WinUI 2.8, необходимо задать TargetPlatformVersion = 10.0.18362.0 и TargetPlatformMinVersion >>= 10.0.17763.0 в свойствах проекта.
На панели обозревателя решений щелкните название проекта правой кнопкой мыши и выберите Управление пакетами NuGet.
Панель Обозревателя решений с открытым с помощью щелчка правой кнопкой проектом и выделенным параметром "Управление пакетами NuGet".В диспетчере пакетов NuGet перейдите на вкладку Обзор и выполните поиск по запросу Microsoft.UI.Xaml или WinUI. Выберите нужные пакеты NuGet для библиотеки пользовательского интерфейса Windows (пакет Microsoft.UI.Xaml содержит элементы управления и функции, которые подходят для любых приложений). Щелкните Установить.
Установите флажок "Включить предварительные выпуски", чтобы просмотреть последние предварительные версии, включающие экспериментальные новые функции.
Диалоговое окно диспетчера пакетов NuGet с открытой вкладкой "Обзор", в поле поиска которой отображается запись "winui", и флажком "Включить предварительные выпуски".Добавьте ресурсы темы пользовательского интерфейса Windows (WinUI) в файл App.xaml.
Это можно сделать двумя способами, в зависимости от наличия дополнительных ресурсов приложения.
a. Если вам не нужны другие ресурсы приложений, добавьте элемент ресурсов WinUI
<XamlControlsResources
как показано в следующем примере:<Application x:Class="ExampleApp.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" RequestedTheme="Light"> <Application.Resources> <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" /> </Application.Resources> </Application>
b. Если у вас есть другие ресурсы, мы рекомендуем добавить их в
XamlControlsResources.MergedDictionaries
. Это работает с системой ресурсов платформы, чтобы разрешить переопределение ресурсовXamlControlsResources
.<Application x:Class="ExampleApp.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:controls="using:Microsoft.UI.Xaml.Controls" RequestedTheme="Light"> <Application.Resources> <controls:XamlControlsResources> <controls:XamlControlsResources.MergedDictionaries> <ResourceDictionary Source="/Styles/Styles.xaml"/> <!-- Other app resources here --> </controls:XamlControlsResources.MergedDictionaries> </controls:XamlControlsResources> </Application.Resources> </Application>
Добавьте ссылку на пакет WinUI на страницы XAML и (или) страницы кода программной части.
На странице XAML добавьте ссылку в верхней части страницы.
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
В коде (если вы хотите использовать имена типов без их уточнения), можно добавить директиву using.
using MUXC = Microsoft.UI.Xaml.Controls;
Дополнительные шаги для проекта C++/WinRT
Когда вы добавляете пакет NuGet в проект C++/WinRT, средство создает набор заголовков проекции в папке проекта \Generated Files\winrt
. Чтобы поместить эти файлы с заголовками в свой проект и чтобы ссылки на эти новые типы работали, можно перейти к предварительно откомпилированному файлу заголовка (обычно pch.h
) и включить их в файл проекта. Ниже приведен пример, включающий созданные файлы заголовков для пакета Microsoft.UI.Xaml.
// pch.h
...
#include <winrt/Microsoft.UI.Xaml.Automation.Peers.h>
#include <winrt/Microsoft.UI.Xaml.Controls.Primitives.h>
#include <winrt/Microsoft.UI.Xaml.Media.h>
#include <winrt/Microsoft.UI.Xaml.XamlTypeInfo.h>
...
Полное пошаговое руководство по добавлению простой поддержки библиотеки пользовательского интерфейса Windows в проект C++/WinRT см. в статье Простой пример библиотеки пользовательского интерфейса Windows для C++/WinRT.
Дополнение к библиотеке пользовательского интерфейса Windows
Мы приветствуем отчеты об ошибках, запросы функций и вклады кода сообщества в репозитории Microsoft-ui-xaml на GitHub.
Другие ресурсы
Если вы не знакомы с UWP, рекомендуем ознакомится со статьей Приступая к работе с приложениями для Windows 10 на портале разработчика.
Windows developer
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по