Microsoft випускає Windows UI Library 3 Preview 4

Значок часу читання 9 хв. читати


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

Прочитайте нашу сторінку розкриття інформації, щоб дізнатися, як ви можете допомогти 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
  • Оновлення темної теми
  • Покращення та оновлення до WebView2
    • Підтримка високого DPI
    • Підтримка зміни розміру та переміщення вікна
    • Оновлено для націлювання на новішу версію Edge
    • Більше не потрібно посилатися на пакет Nuget, специфічний для WebView2
  • SwapChainPanel
  • Основна підтримка MRT
    • Це робить програми швидшими та легшими під час запуску та забезпечує швидший пошук ресурсів.
  • Підтримка ARM64
  • Перетягніть всередину та зовні програми
  • RenderTargetBitmap (наразі лише вміст XAML – без вмісту SwapChainPanel)
  • Підтримка власного курсору
  • Непотоковий вхід
  • Покращення нашого інструментарію / досвіду розробника:
    • Візуальне дерево в реальному часі, гаряче перезавантаження, Live Explorer Explorer та подібні інструменти
    • Intellisense для WinUI 3
  • Покращення, необхідні для міграції з відкритим кодом

Для отримання додаткової інформації про переваги WinUI 3 і дорожньої карти WinUI див Дорожня карта бібліотеки інтерфейсу користувача Windows на GitHub.

Список помилок, виправлених у попередньому перегляді 4

Нижче наведено список помилок, які стикаються з користувачами, які команда виправила з попереднього перегляду 3. Також було проведено багато роботи щодо стабілізації навколишнього середовища та покращення нашого тестування.

  • Цей випуск отримав нову версію CS/WinRT і Windows SDK, які виправили такі помилки:
    • Збій під час прив’язки до властивості URI за допомогою {Binding}
    • Функції C#/WinRT Marshal неправильно взаємодіють із .NET 5
  • Збій WinUI 3 під час роботи на Windows Insider Builds
    • Дякуємо багатьом учасникам спільноти за повідомлення про цю помилку на GitHub!
  • WebView2 не застосовує мову/локаль основної програми до CoreWebView2Environment
  • Набір інструментів Windows Community Toolkit DataGrid завершує роботу програми під час запуску/коли з’являються смуги прокрутки
    • Дякуємо багатьом учасникам спільноти за повідомлення про цю помилку на GitHub!
  • При зміні режиму відображення візуалізація сторінки стає поганою
  • Збій під час використання Language ComboBox у CalendarView
  • Робочий стіл WinUI 3: не вдається вийти з WebView2
  • WinUI 3 Desktop: TreeView з похідними TreeViewNodes аварійно завершує роботу
  • Робочий стіл WinUI 3: не вдається ввести текст у TextBox всередині ContentDialog
  • WinUI 3 Desktop: 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 Desktop: не вдається перемістити файли в сітку
  • Робочий стіл WinUI 3: збій 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 Designer
  • Нові програми C++/CX не підтримуються, однак ваші існуючі програми продовжуватимуть працювати (будь ласка, перейдіть на C++/WinRT якомога швидше)
  • Підтримка кількох вікон у додатках для настільних комп’ютерів триває, але ще не завершена та стабільна.
    • Будь ласка, повідомте про помилку в нашому репозиторії, якщо ви виявите нові проблеми або регресії з багатовіконною поведінкою.
  • Розгортання на робочому столі без упаковки не підтримується
  • Під час запуску програми для комп’ютера за допомогою F5 переконайтеся, що ви запускаєте проект пакування. Натискання клавіші F5 у проекті програми призведе до запуску неупакованої програми, яку WinUI 3 поки не підтримує.

Відсутні функції платформи

  • Підтримка Xbox
  • Підтримка HoloLens
  • Спливаючі вікна
    • Більш конкретно ShouldConstrainToRootBounds властивість завжди діє так, ніби вона встановлена true, незалежно від вартості майна.
  • Підтримка фарбування
  • Акриловий
  • MediaElement і MediaPlayerElement
  • MapControl
  • RenderTargetBitmap для SwapChainPanel і вмісту, що не є XAML
  • SwapChainPanel не підтримує прозорість
  • Global Reveal використовує резервну поведінку, суцільний пензлик
  • Острови XAML не підтримуються в цьому випуску
  • Бібліотеки екосистем сторонніх розробників не працюватимуть повноцінно
  • IME не працюють

Відомі проблеми

  • Alt+F4 не закриває вікна програми для робочого столу.
  • Через зміни с CoreWindow, наведені нижче API WinRT можуть більше не працювати робочий стіл програми, як очікувалося:

    Додаткову інформацію про використання API WinRT у вашій програмі WinUI 3 для настільних комп’ютерів див Windows Runtime API доступні для настільних програм.

  • Подія 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: деякі типи знаходяться в a Microsoft простір імен, а не a System простір імен. Наприклад, а не INotifyPropertyChanged інтерфейс, що знаходиться в System.ComponentModel простір імен, він знаходиться в Microsoft.UI.Xaml.Data простір імен. Це стосується:
    • INotifyPropertyChanged (і пов'язані типи)
    • INotifyCollectionChanged
    • ICommand

    Команда System Версії простору імен все ще існують, але не можуть використовуватися з WinUI 3. Це означає, що ObservableCollection не працює як є в програмах WinUI 3 C# UWP. Щоб отримати обхідний шлях, див Зразок CollectionsInterop в Зразок галереї елементів керування XAML.

Що далі?

Розробники можуть ознайомитися з детальною інформацією від Microsoft Дорожня карта функцій щоб побачити, коли конкретні функції будуть включені в WinUI 3.

Встановіть WinUI 3 Preview 4

WinUI 3 Preview 4 включає шаблони проектів Visual Studio, які допомагають розпочати створення програм з інтерфейсом користувача на основі WinUI, і пакет NuGet, який містить бібліотеки WinUI. Щоб інсталювати WinUI 3 Preview 4, виконайте такі дії.

Набір інструментів спільноти Windows

Якщо ви використовуєте набір інструментів спільноти Windows, завантажити останню версію.

Крім обмеження та відомі проблеми, створення програми за допомогою проектів 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, як описано в вказівки тут.

Див 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, winui 3 попередній перегляд 4