Microsoft выпускает Windows UI Library 3 Preview 4

Значок времени чтения 9 минута. читать


Читатели помогают поддержать MSpoweruser. Мы можем получить комиссию, если вы совершите покупку по нашим ссылкам. Значок подсказки

Прочтите нашу страницу раскрытия информации, чтобы узнать, как вы можете помочь MSPoweruser поддержать редакционную команду. Читать далее

Винуй 3

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 могут больше не работать с Для ПК приложения, как и ожидалось:

    Дополнительные сведения об использовании 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, как описано в инструкции здесь.

Смотрите пост в Ветвь 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 для предоставления отзывов и регистрации предложений и проблем.

Подробнее о темах: застройщиков, Microsoft, Винуй 3 превью 4