Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
WinUI 2.8 — это последняя стабильная версия WinUI, которую можно использовать для создания рабочих приложений UWP (и классических приложений с помощью XAML Islands).
Эта библиотека доступна в виде пакета NuGet, который можно добавить в любой новый или существующий проект Visual Studio.
Замечание
Дополнительные сведения о создании классических приложений Windows с последней версией WinUI 3 см. в статье WinUI 3.
Настройка Visual Studio для разработки UWP
Скачайте Visual Studio 2022 и установите средства для разработки UWP. Дополнительные инструкции см. в статье "Создание приложения UWP" в документации По Visual Studio.
На вкладке "Рабочие нагрузки " приложения Установщика Visual Studio выберите следующие рабочие нагрузки и компоненты:
Выберите рабочую нагрузку WinUI для разработки приложений. Затем в области сведений об установке в узле разработки приложений WinUI выберите нужный параметр UWP (это также будет выбирать все дополнительные необходимые компоненты.):
- Для C# выберите средства универсальной платформы Windows.
- Для C++ выберите средства C++ (v14x) для Универсальной платформы Windows (выберите последнюю версию, если у вас нет конкретной причины использовать более раннюю версию).
Замечание
В Visual Studio 17.10 – 17.12 эта рабочая нагрузка называется разработкой приложений Windows.
Скачивание и установка WinUI
Откройте существующий проект или создайте новый проект, используя шаблон пустого приложения в Visual C# > Windows Universal > или подходящий шаблон для вашего языка.
Это важно
Чтобы использовать WinUI 2.8, необходимо задать TargetPlatformVersion = 10.0.18362.0 и TargetPlatformMinVersion >>= 10.0.17763.0 в свойствах проекта.
На панели обозревателя решений щелкните правой кнопкой мыши имя проекта и выберите пункт "Управление пакетами NuGet".
Панель обозревателя решений, в которой проект выделен при щелчке правой кнопкой мыши и выбран параметр "Управление пакетами NuGet".В диспетчере пакетов NuGet перейдите на вкладку "Обзор " и найдите Microsoft.UI.Xaml или WinUI. Выберите, какие пакеты NuGet WinUI необходимо использовать (пакет Microsoft.UI.Xaml содержит элементы управления Fluent и функции, подходящие для всех приложений). Щелкните Установить.
Установите флажок "Включить предварительные выпуски", чтобы просмотреть последние предварительные версии, включающие экспериментальные новые функции.
Диалоговое окно диспетчера пакетов NuGet отображается с вкладкой "Обзор", winui в поле поиска и установленным флажком "Включить предварительную версию".Добавьте ресурсы темы 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>
б. Если у вас есть другие ресурсы, мы рекомендуем добавить их в
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>
...
Полное пошаговое руководство по добавлению простой поддержки WinUI в проект C++/WinRT см. в простом примере C++/WinRT WinUI.
WinUI на GitHub
Мы приветствуем отчеты об ошибках в репозитории microsoft-ui-xaml на GitHub.