Microsoft lanserer Windows UI Library 3 Preview 4

Ikon for lesetid 9 min. lese


Lesere hjelper til med å støtte MSpoweruser. Vi kan få provisjon hvis du kjøper gjennom lenkene våre. Verktøytipsikon

Les vår avsløringsside for å finne ut hvordan du kan hjelpe MSPoweruser opprettholde redaksjonen Les mer

WinUI er et brukergrensesnittlag som inneholder moderne kontroller og stiler for å bygge Windows-apper, både skrivebord og UWP. Som det opprinnelige UI-laget i Windows, legemliggjør det Fluent Design, og gir hver Windows-app den polerte følelsen som brukerne forventer.

[lwptoc title=”WinUI Library 3 Preview 4″ width=”40%” float=”right”]

WinUI 3 er den nyeste versjonen av WinUI-rammeverket, som sendes senere i år. Den utvider WinUI dramatisk til et fullstendig UX-rammeverk, noe som gjør WinUI tilgjengelig for alle typer Windows-apper – fra Win32 til UWP – for bruk som brukergrensesnittlaget. Når den er klar, vil hver Windows-app kunne dra nytte av sine moderne kontroller som fungerer uavhengig av Windows-versjonen de kjører på.

Utgitt i dag, WinUI 3 forhåndsvisning 4 er en stabilitetsforhåndsutgivelse som inkluderer kritiske feilrettinger og andre generelle forbedringer for rammeverket.

Funksjoner introdusert i forhåndsvisning 4

  • Paritet med WinUI 2.5 (inkluderer InfoBar-kontroll, nye funksjoner i ProgressRing og NavigationView, og feilrettinger)
  • Egendefinerte tittellinjefunksjoner: nye Window.ExtendsContentIntoTitleBar og Window.SetTitleBar APIer som lar utviklere lage egendefinerte tittellinjer i skrivebordsapper.
  • VirtualSurfaceImageSource-støtte

Nye funksjoner og muligheter introdusert i tidligere forhåndsvisninger av WinUI 3

Følgende funksjoner og muligheter ble introdusert i WinUI 3 Preview 1-3 og støttes fortsatt i WinUI 3 Preview 4.

  • Evne til å lage skrivebordsapper med WinUI, inkludert .NET 5 for Win32-apper
  • RadialGradientBørste
  • TabView-oppdateringer
  • Oppdateringer av mørkt tema
  • Forbedringer og oppdateringer til nettvisning2
    • Støtte for høy DPI
    • Støtte for endring av størrelse og flytting av vinduer
    • Oppdatert for å målrette mot nyere versjon av Edge
    • Ikke lenger nødvendig å referere til en WebView2-spesifikk Nuget-pakke
  • Bytt kjedepanel
  • MRT kjernestøtte
    • Dette gjør apper raskere og lettere ved oppstart og gir raskere ressursoppslag.
  • ARM64-støtte
  • Dra og slipp inne og utenfor appene
  • RenderTargetBitmap (foreløpig bare XAML-innhold – ingen SwapChainPanel-innhold)
  • Tilpasset markørstøtte
  • Inngang utenfor tråden
  • Forbedringer av vår verktøy / utvikleropplevelse:
    • Live Visual Tree, Hot Reload, Live Property Explorer og lignende verktøy
    • Intellisense for WinUI 3
  • Forbedringer som kreves for migrering av åpen kildekode

For mer informasjon om både fordelene med WinUI 3 og WinUI veikart, se Veikart for Windows UI Library på GitHub.

Liste over feil rettet i forhåndsvisning 4

Nedenfor er en liste over brukervendte feil som teamet har fikset siden Preview 3. Det har også vært mye arbeid på gang med stabilisering og forbedring av testingen vår.

  • Denne utgivelsen har tatt på seg en ny versjon av CS/WinRT og Windows SDK, som fikset følgende feil:
    • Kræsj ved binding til en URI-egenskap med {Binding}
    • C#/WinRT Marshal-funksjoner samvirker ikke korrekt med .NET 5
  • WinUI 3 krasjer når du kjører på Windows Insider Builds
    • Takk til flere samfunnsbidragsytere for å rapportere denne feilen på GitHub!
  • WebView2 bruker ikke vertsappens språk/lokalitet på CoreWebView2Environment
  • Windows Community Toolkit DataGrid-kontroll krasjer app ved start/når rullefelt vises
    • Takk til flere samfunnsbidragsytere for å rapportere denne feilen på GitHub!
  • Sidegjengivelsen blir dårlig når visningsmodus endres
  • Krasj når du bruker Language ComboBox i CalendarView
  • WinUI 3 Desktop: Kan ikke ta ut av WebView2
  • WinUI 3 Desktop: TreeView med avledede TreeViewNodes krasjer
  • WinUI 3 Desktop: Kan ikke legge inn tekst i tekstboksen i ContentDialog
  • WinUI 3 Desktop: ALT og F6 fungerer ikke
  • Gammelt fjernet SwapChainPanel gjengis på toppen av nye SwapChain
  • WinUI 3 Desktop: Kan ikke rulle med styreflaten
  • Krasj når du bruker NavigationView-kontroll med flere vinduer i samme tråd
  • Tilgjengelighetsproblem: Vis fokus rett ved lansering av WinUI desktop app
  • Tilgangsbrudd mens du ruller i DataGrid
  • WinUI 3 Desktop: Tab-sykling fungerer ikke
  • Dra og slipp på GridView mislykkes i skrivebordsapplikasjonen med WinUI Xaml Islands
  • Tilgjengelighetsproblem: Kan ikke rulle med PageUp/PageDown-tastene på WinUI 3 Desktop
  • WebView2 har feil visningsportstørrelse
  • WebView2 krasjer ved klikk etter å ha åpnet MenuFlyout
  • WinUI 3 Desktop: Forsøk på å få ned DropDownButton eller SplitButtons flyout forårsaker appkrasj
  • WebView2: Dobbelt høyreklikk på musen forårsaker krasj
  • Ved å klikke på en ToggleSplit-knapp får applikasjonen til å krasje
  • WinUI 3 Desktop: Tomt DesktopWindowXamlSource-vindu synlig på oppgavelinjen
  • WinUI 3 Desktop: DataGrid vises ikke
  • WinUI 3 Desktop: Kan ikke slippe filer til Grid
  • WinUI 3 Desktop: ItemsRepeater-krasj i WinUI 3 Preview 2
  • AccessViolationException kastet ved oppdatering av bindinger
  • WinUI 3 Desktop: app krasjer på scroll NavigationView
  • ItemsControl blir ikke oppdatert mens du legger til eller fjerner elementer i ItemsSource-samlingen dynamisk.
  • Kompiler feil C2760 i App.xaml.gh hvis C++ Conformance Mode er aktivert

Begrensninger og kjente problemer

Preview 4-utgivelsen er ganske enkelt en forhåndsvisning med feil, begrensninger og andre problemer med scenariene rundt skrivebordsapper er spesielt nye.

Følgende elementer er noen av de kjente problemene med WinUI 3 Preview 4.

Utviklerverktøy

  • Bare C#- og C++/WinRT-apper støttes
  • Desktop-apper støtter .NET 5 og C# 9, og må pakkes i en MSIX-app
  • UWP-apper støtter .NET Native og C# 7.3
  • Utviklerverktøy og Intellisense fungerer kanskje ikke ordentlig i Visual Studio versjon 16.8.
  • Ingen XAML Designer-støtte
  • Nye C++/CX-apper støttes ikke, men de eksisterende appene dine vil fortsette å fungere (vennligst flytt til C++/WinRT så snart som mulig)
  • Støtte for flere vinduer i skrivebordsapper pågår, men ennå ikke komplett og stabil.
    • Send inn en feil på vår repo hvis du finner nye problemer eller regresjoner med adferd med flere vinduer.
  • Upakket desktop-distribusjon støttes ikke
  • Når du kjører en skrivebordsapp med F5, sørg for at du kjører pakkeprosjektet. Å trykke F5 på appprosjektet vil kjøre en upakket app, som WinUI 3 ennå ikke støtter.

Manglende plattformfunksjoner

  • Xbox -støtte
  • HoloLens-støtte
  • Popup-vinduer med vindu
    • Nærmere bestemt, ShouldConstrainToRootBounds egenskapen fungerer alltid som om den er satt til true, uavhengig av eiendomsverdien.
  • Blekkstøtte
  • Akryl
  • MediaElement og MediaPlayerElement
  • MapControl
  • RenderTargetBitmap for SwapChainPanel og ikke-XAML-innhold
  • SwapChainPanel støtter ikke åpenhet
  • Global Reveal bruker fallback-atferd, en solid børste
  • XAML Islands støttes ikke i denne utgivelsen
  • Tredjeparts økosystembiblioteker vil ikke fungere fullt ut
  • IME-er fungerer ikke

Kjente problemer

  • Alt+F4 lukker ikke skrivebordsappvinduer.
  • På grunn av endringer med CoreWindow, kan det hende at følgende WinRT APIer ikke lenger fungerer med desktop apper som forventet:

    For mer informasjon om bruk av WinRT API-er i WinUI 3 Desktop-appen, se Windows Runtime APIer tilgjengelig for skrivebordsapper.

  • Windows.UI.ViewManagement.UISettings.ColorValuesChanged Event støttes ikke lenger i skrivebordsapper. Dette kan forårsake problemer hvis du bruker det til å oppdage endringer i Windows-temaer.
  • Denne utgivelsen inkluderer noen eksperimentelle API-er. Disse har ikke blitt grundig testet av teamet og kan ha ukjente problemer. Vær så snill arkiv en feil på vår repo hvis du støter på problemer.
  • Tidligere ville du ringe for å få en CompositionCapabilities-forekomst CompositionCapabilites.GetForCurrentView(). Det var imidlertid egenskapene som ble returnert fra denne samtalen ikke avhengig av utsikten. For å adressere og reflektere dette har vi slettet GetForCurrentView()-statikken i denne utgivelsen, så nå kan du opprette en Komposisjonsevner objekt direkte.
  • For C# UWP-apper: WinUI 3-rammeverket er et sett med WinRT-komponenter som kan brukes fra C++ (ved å bruke C++/WinRT) eller C#. Når du bruker C#, er det to versjoner av .NET, avhengig av appmodellen: når du bruker WinUI 3 i en UWP-app, bruker du .NET Native; når du bruker i en skrivebordsapp, bruker du .NET 5 (og C#/WinRT). Når du bruker C# for en WinUI 3-app i UWP, er det noen API-navneforskjeller sammenlignet med C# i en WinUI 3 Desktop-app eller en C# WinUI 2-app: noen typer er i en Microsoft navneområde i stedet for et System navneområde. For eksempel, i stedet for INotifyPropertyChanged grensesnitt er i System.ComponentModel navneområdet, det er i Microsoft.UI.Xaml.Data navneområde. Dette gjelder for:
    • INotifyPropertyChanged (og relaterte typer)
    • INotifyCollectionChanged
    • ICommand

    De System navneromsversjoner eksisterer fortsatt, men kan ikke brukes med WinUI 3. Dette betyr at ObservableCollection fungerer ikke som det er i WinUI 3 C# UWP-apper. For en løsning, se SamlingerInterop-eksempel i Eksempel på XAML Controls Gallery.

Hva kommer neste gang?

Utviklere kan ta en titt på Microsofts detaljerte kjøreplan for å se når spesifikke funksjoner vil bli brakt inn i WinUI 3.

Installer WinUI 3 Preview 4

WinUI 3 Preview 4 inkluderer Visual Studio-prosjektmaler for å hjelpe deg med å komme i gang med å bygge apper med et WinUI-basert brukergrensesnitt, og en NuGet-pakke som inneholder WinUI-bibliotekene. Følg disse trinnene for å installere WinUI 3 Preview 4.

Windows Community Toolkit

Hvis du bruker Windows Community Toolkit, last ned den nyeste versjonen.

Bortsett fra begrensninger og kjente problemer, å bygge en app ved hjelp av WinUI-prosjektene ligner på å bygge en UWP-app med XAML og WinUI 2.x. Derfor er det meste av veiledningsdokumentasjon for UWP-apper og Windows.UI WinRT-navneområder i Windows SDK er aktuelt.

For mer informasjon om hvordan du kommer i gang med WinUI-prosjektmalene, se følgende artikler:

En API-referansedokumentasjon for denne utgivelsen kommer snart, men i mellomtiden kan utviklere se på WinUI 3 API-referansedokumentasjon for Preview 3.

Hvis du opprettet et prosjekt med WinUI 3 Preview 3, kan du oppgradere prosjektet til å bruke Preview 4. Se WinUI GitHub-depot for detaljerte instruksjoner.

For å dra nytte av de nyeste verktøyfunksjonene lagt til i WinUI 3 Preview 4 som Hot Reload, Live Visual Tree og Live Property Explorer, må du bruke den nyeste forhåndsvisningsversjonen av Visual Studio med den nyeste WinUI 3-forhåndsvisningen og sørge for å aktivere WinUI-verktøy i Visual Studio Preview-funksjoner, som beskrevet i instruksjoner her.

Gå til WinUI 3 Preview 4-gren av XAML Controls Gallery for en eksempelapp som inkluderer alle WinUI 3 Preview 4 kontroller og funksjoner.


Eksempel på WinUI 3 Preview 4 XAML Controls Gallery-appen

Denne forhåndsvisningsutgaven av WinUI 3 er ment for tidlig evaluering og for å samle tilbakemeldinger fra utviklerfellesskapet. Det burde IKKE brukes til produksjonsapper. Microsoft vil fortsette å sende forhåndsvisningsutgivelser av WinUI 3 inn i 2021, etterfulgt av den første offisielle, støttede utgivelsen i mars 2021.

Vennligst bruk WinUI GitHub repo for å gi tilbakemelding og loggforslag og problemer.

Mer om temaene: utviklere, microsoft, winui 3 forhåndsvisning 4