Microsoft выпускает Windows UI Library 3 Preview 4
9 минута. читать
Опубликовано
Прочтите нашу страницу раскрытия информации, чтобы узнать, как вы можете помочь MSPoweruser поддержать редакционную команду. Читать далее
WinUI — это уровень пользовательского интерфейса, который содержит современные элементы управления и стили для создания приложений Windows, как настольных, так и UWP. Являясь родным уровнем пользовательского интерфейса в Windows, он воплощает в себе Fluent Design, придавая каждому приложению Windows тот безупречный вид, которого ожидают пользователи.
[lwptoc title="WinUI Library 3 Preview 4" width="40%" float="right"]
WinUI 3 — это последняя версия платформы WinUI, которая будет выпущена в конце этого года. Он значительно расширяет WinUI до полноценной среды UX, делая WinUI доступным для всех типов приложений Windows — от Win32 до UWP — для использования в качестве слоя пользовательского интерфейса. Когда все будет готово, каждое приложение Windows сможет воспользоваться преимуществами своих современных элементов управления, которые работают независимо от версии Windows, в которой они работают.
Выпущено сегодня, WinUI 3 предварительная версия 4 — это предварительный выпуск стабильности, который включает критические исправления ошибок и другие общие улучшения для платформы.
Возможности, представленные в Preview 4
- Равенство с WinUI 2.5 (включая элемент управления InfoBar, новые функции в ProgressRing и NavigationView, а также исправления ошибок)
- Возможности настраиваемых заголовков: новые API-интерфейсы Window.ExtendsContentIntoTitleBar и Window.SetTitleBar, которые позволяют разработчикам создавать настраиваемые заголовки в настольных приложениях.
- Поддержка VirtualSurfaceImageSource
Новые функции и возможности, представленные в предыдущих предварительных версиях WinUI 3.
Следующие функции и возможности были представлены в WinUI 3 Preview 1-3 и по-прежнему поддерживаются в WinUI 3 Preview 4.
- Возможность создавать настольные приложения с WinUI, в том числе .NET 5 для приложений Win32
- Радиальный Градиент Кисть
- Обновления TabView
- Обновления темной темы
- Улучшения и обновления для ВебВью2
- Поддержка высокого разрешения
- Поддержка изменения размера и перемещения окна
- Обновлено для более новой версии Edge.
- Больше нет необходимости ссылаться на пакет Nuget, специфичный для WebView2.
- Панель SwapChain
- Основная поддержка MRT
- Это делает приложения быстрее и легче при запуске и обеспечивает более быстрый поиск ресурсов.
- ARM64 Поддержка
- Перетаскивайте внутри и снаружи приложений
- RenderTargetBitmap (в настоящее время только содержимое XAML — без содержимого SwapChainPanel)
- Поддержка пользовательского курсора
- Ввод вне потока
- Улучшения нашего инструментария / опыта разработчиков:
- Live Visual Tree, Hot Reload, Live Property Explorer и аналогичные инструменты
- IntelliSense для WinUI 3
- Улучшения, необходимые для миграции с открытым исходным кодом
Для получения дополнительной информации о преимуществах WinUI 3 и дорожной карте WinUI см. Дорожная карта библиотеки пользовательского интерфейса Windows на GitHub.
Список ошибок, исправленных в Preview 4
Ниже приведен список ошибок, с которыми сталкиваются пользователи, которые команда исправила после Preview 3. Также была проделана большая работа по стабилизации и улучшению нашего тестирования.
- В этом выпуске используется новая версия CS/WinRT и Windows SDK, в которых исправлены следующие ошибки:
- Сбой при привязке к свойству URI с помощью {Binding}
- Функции C#/WinRT Marshal неправильно взаимодействуют с .NET 5
- Сбой WinUI 3 при запуске в сборках Windows Insider
- Спасибо нескольким участникам сообщества за сообщение об этой ошибке на GitHub!
- WebView2 не применяет язык/локаль хост-приложения к CoreWebView2Environment
- Элемент управления Windows Community Toolkit DataGrid приводит к сбою приложения при запуске/при появлении полос прокрутки
- Спасибо нескольким участникам сообщества за сообщение об этой ошибке на GitHub!
- Рендеринг страницы переходит в плохое состояние при изменении режима отображения
- Сбой при использовании Language ComboBox в CalendarView
- Рабочий стол WinUI 3: не удается выйти из WebView2
- Рабочий стол WinUI 3: сбой TreeView с производными узлами TreeViewNodes
- Рабочий стол WinUI 3: невозможно ввести текст в TextBox внутри ContentDialog
- Рабочий стол WinUI 3: ALT и F6 не работают
- Старая удаленная панель SwapChainPanel отображается поверх новой SwapChain.
- Рабочий стол WinUI 3: невозможно выполнить прокрутку с помощью трекпада
- Сбой при использовании элемента управления NavigationView с несколькими окнами в одном потоке
- Проблема специальных возможностей: отображать прямоугольник фокуса при запуске настольного приложения WinUI
- Нарушение прав доступа при прокрутке в DataGrid
- Рабочий стол WinUI 3: циклическое переключение вкладок не работает
- Ошибка перетаскивания в GridView в настольном приложении с WinUI Xaml Islands
- Проблема доступности: невозможно прокрутить с помощью клавиш PageUp/PageDown на рабочем столе WinUI 3
- WebView2 имеет неправильный размер области просмотра
- Сбой WebView2 при нажатии после открытия MenuFlyout
- Рабочий стол WinUI 3: попытка отключить всплывающее окно DropDownButton или SplitButton приводит к сбою приложения
- WebView2: двойной щелчок правой кнопкой мыши вызывает сбой
- Щелчок по ToggleSplitButton приводит к сбою приложения.
- Рабочий стол WinUI 3: пустое окно DesktopWindowXamlSource отображается на панели задач
- Рабочий стол WinUI 3: DataGrid не отображается
- Рабочий стол WinUI 3: невозможно перетаскивать файлы в сетку
- WinUI 3 Desktop: сбой ItemsRepeater в WinUI 3 Preview 2
- AccessViolationException возникает при обновлении привязок
- WinUI 3 Desktop: приложение аварийно завершает работу при прокрутке NavigationView
- ItemsControl не обновляется при динамическом добавлении или удалении элементов в своей коллекции ItemsSource.
- Ошибка компиляции C2760 в App.xaml.gh, если включен режим соответствия C++
Ограничения и известные проблемы
Выпуск Preview 4 — это просто предварительный просмотр с ошибками, ограничениями и другими проблемами, особенно новыми для сценариев, связанных с настольными приложениями.
Следующие элементы являются некоторыми из известных проблем с WinUI 3 Preview 4.
Инструменты разработчика
- Поддерживаются только приложения C# и C++/WinRT.
- Настольные приложения поддерживают .NET 5 и C# 9 и должны быть упакованы в приложение MSIX.
- Приложения UWP поддерживают .NET Native и C# 7.3.
- Инструменты разработчика и Intellisense могут работать неправильно в Visual Studio версии 16.8.
- Нет поддержки конструктора XAML.
- Новые приложения C++/CX не поддерживаются, однако ваши существующие приложения продолжат работать (перейдите на C++/WinRT как можно скорее).
- Поддержка нескольких окон в настольных приложениях находится в процессе, но еще не завершена и не стабильна.
- Пожалуйста, сообщите об ошибке в нашем репозитории, если вы обнаружите новые проблемы или регрессии с многооконным поведением.
- Неупакованное десктопное развертывание не поддерживается.
- При запуске настольного приложения с помощью клавиши F5 убедитесь, что вы запускаете проект упаковки. Нажатие F5 в проекте приложения запустит неупакованное приложение, которое WinUI 3 пока не поддерживает.
Отсутствующие функции платформы
- Поддержка Xbox
- Поддержка ХолоЛенс
- Оконные всплывающие окна
- Более конкретно,
ShouldConstrainToRootBounds
свойство всегда действует так, как если бы оно было установлено вtrue
, независимо от стоимости свойства.
- Более конкретно,
- Поддержка рукописного ввода
- акрил
- МедиаЭлемент и МедиаплеерЭлемент
- MapControl
- RenderTargetBitmap для SwapChainPanel и содержимого, отличного от XAML.
- SwapChainPanel не поддерживает прозрачность
- Global Reveal использует резервное поведение, сплошную кисть
- Острова XAML не поддерживаются в этом выпуске.
- Библиотеки сторонних экосистем не будут полностью функционировать
- IME не работают
известные проблемы
- Alt+F4 не закрывает окна настольных приложений.
- В связи с изменениями с CoreWindow, следующие API WinRT могут больше не работать с Для ПК приложения, как и ожидалось:
ApplicationView
и все связанные API больше не будут работать.CoreApplicationView
и все связанные API больше не будут работать.- Все
GetForCurrentView
API могут не поддерживаться, напримерCoreInputView.GetForCurrentView
. CoreWindow.GetForCurrentThread
теперь будет возвращать ноль.
Дополнительные сведения об использовании API-интерфейсов WinRT в приложении WinUI 3 для настольных ПК см. API-интерфейсы среды выполнения Windows, доступные для настольных приложений.
- Событие Windows.UI.ViewManagement.UISettings.ColorValuesChanged больше не поддерживается в настольных приложениях. Это может вызвать проблемы, если вы используете его для обнаружения изменений в темах Windows.
- Этот выпуск включает в себя несколько экспериментальных API. Они не были тщательно протестированы командой и могут иметь неизвестные проблемы. Пожалуйста сообщить об ошибке в нашем репо, если у вас возникнут какие-либо проблемы.
- Ранее, чтобы получить экземпляр CompositionCapabilities, вы вызывали CompositionCapabilites.GetForCurrentView(). Однако возможности, возвращенные из этого вызова, были не в зависимости от вида. Чтобы решить эту проблему и отразить ее, мы удалили статическую функцию GetForCurrentView() в этом выпуске, поэтому теперь вы можете создать СоставВозможности объект напрямую.
- Для приложений C# UWP: Платформа WinUI 3 представляет собой набор компонентов WinRT, которые можно использовать из C++ (с использованием C++/WinRT) или C#. При использовании C# существуют две версии .NET, в зависимости от модели приложения: при использовании WinUI 3 в приложении UWP вы используете .NET Native; при использовании в настольном приложении вы используете .NET 5 (и C#/WinRT). При использовании C# для приложения WinUI 3 в UWP существует несколько различий в пространствах имен API по сравнению с C# в настольном приложении WinUI 3 или C#. Приложение WinUI 2: некоторые типы находятся в
Microsoft
пространство имен, а неSystem
пространство имен. Например, вместоINotifyPropertyChanged
интерфейс, находящийся вSystem.ComponentModel
пространство имен, оно находится вMicrosoft.UI.Xaml.Data
пространство имен. Это относится к:INotifyPropertyChanged
(и родственные типы)INotifyCollectionChanged
ICommand
Ассоциация
System
версии пространства имен все еще существуют, но их нельзя использовать с WinUI 3. Это означает, чтоObservableCollection
не работает как есть в приложениях WinUI 3 C# UWP. Обходной путь см. КоллекцииInterop пример в Образец галереи элементов управления XAML.
Что будет дальше?
Разработчики могут ознакомиться с подробным дорожная карта функций чтобы увидеть, когда определенные функции будут добавлены в WinUI 3.
Установите WinUI 3, предварительная версия 4.
WinUI 3 Preview 4 включает шаблоны проектов Visual Studio, помогающие приступить к созданию приложений с пользовательским интерфейсом на основе WinUI, а также пакет NuGet, содержащий библиотеки WinUI. Чтобы установить WinUI 3 Preview 4, выполните следующие действия.
Набор инструментов сообщества Windows
Если вы используете Windows Community Toolkit, загрузить последнюю версию.
Помимо ограничения и известные проблемы, создание приложения с помощью проектов WinUI аналогично созданию приложения UWP с помощью XAML и WinUI 2.x. Следовательно, большая часть руководящая документация для приложений UWP и Windows.UI Пространства имен WinRT в Windows SDK применимы.
Дополнительные сведения о начале работы с шаблонами проектов WinUI см. в следующих статьях:
Справочная документация по API для этого выпуска появится в ближайшее время, а пока разработчики могут ознакомиться с Справочная документация по WinUI 3 API для Preview 3.
Если вы создали проект с помощью WinUI 3 Preview 3, вы можете обновить свой проект, чтобы использовать Preview 4. См. Репозиторий WinUI GitHub для получения подробных инструкций.
Чтобы воспользоваться последними инструментальными функциями, добавленными в WinUI 3 Preview 4, такими как Hot Reload, Live Visual Tree и Live Property Explorer, необходимо использовать последнюю предварительную версию Visual Studio с последней предварительной версией WinUI 3 и обязательно включить Инструменты WinUI в Visual Studio Preview Features, как описано в инструкции здесь.
Галерея элементов управления XAML (ветвь WinUI 3 Preview 4)
Смотрите пост в Ветвь WinUI 3 Preview 4 коллекции элементов управления XAML для примера приложения, которое включает все элементы управления и функции WinUI 3 Preview 4.
Пример приложения WinUI 3 Preview 4 XAML Controls Gallery
Этот предварительный выпуск WinUI 3 предназначен для ранней оценки и сбора отзывов от сообщества разработчиков. Должно НЕ использоваться для производственных приложений. Microsoft продолжит выпускать предварительные выпуски WinUI 3 в 2021 году, а первый официальный поддерживаемый выпуск — в марте 2021 года.
Пожалуйста, используйте Репозиторий WinUI GitHub для предоставления отзывов и регистрации предложений и проблем.