Microsoft udgiver Windows UI Library 3 Preview 4

Ikon for læsetid 9 min. Læs


Læsere hjælper med at understøtte MSpoweruser. Vi får muligvis en kommission, hvis du køber via vores links. Værktøjstip-ikon

Læs vores oplysningsside for at finde ud af, hvordan du kan hjælpe MSPoweruser med at opretholde redaktionen Læs mere

winui 3

WinUI er et brugergrænsefladelag, der indeholder moderne kontroller og stilarter til at bygge Windows-apps, både desktop og UWP. Som det native UI-lag i Windows inkorporerer det Fluent Design, hvilket giver hver Windows-app den polerede følelse, som brugerne forventer.

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

WinUI 3 er den seneste version af WinUI-rammeværket, som sendes senere i år. Det udvider WinUI dramatisk til en fuld UX-ramme, hvilket gør WinUI tilgængelig for alle typer Windows-apps – fra Win32 til UWP – til brug som UI-laget. Når den er klar, vil enhver Windows-app kunne drage fordel af dens moderne kontroller, der fungerer uanset hvilken Windows-version de kører på.

Udgivet i dag, WinUI 3 Preview 4 er en stabilitetsudgivelse, der indeholder kritiske fejlrettelser og andre generelle forbedringer til rammen.

Funktioner introduceret i Preview 4

  • Paritet med WinUI 2.5 (inkluderer InfoBar-kontrol, nye funktioner i ProgressRing og NavigationView og fejlrettelser)
  • Egenskaber til tilpasset titellinje: nye Window.ExtendsContentIntoTitleBar og Window.SetTitleBar API'er, der giver udviklere mulighed for at oprette brugerdefinerede titellinjer i Desktop-apps.
  • VirtualSurfaceImageSource-understøttelse

Nye funktioner og muligheder introduceret i tidligere WinUI 3 Previews

Følgende funktioner og muligheder blev introduceret i WinUI 3 Preview 1-3 og understøttes fortsat i WinUI 3 Preview 4.

  • Mulighed for at oprette desktop-apps med WinUI, inklusive .NET 5 til Win32 apps
  • RadialGradientBørste
  • TabView-opdateringer
  • Opdateringer af mørkt tema
  • Forbedringer og opdateringer til Webvisning 2
    • Understøttelse af høj DPI
    • Understøttelse af vinduesstørrelse og flytning
    • Opdateret til at målrette mod nyere version af Edge
    • Det er ikke længere nødvendigt at referere til en WebView2-specifik Nuget-pakke
  • BytChainPanel
  • MRT Core Support
    • Dette gør apps hurtigere og lettere ved opstart og giver hurtigere ressourceopslag.
  • ARM64 support
  • Træk og slip inden for og uden for apps
  • RenderTargetBitmap (i øjeblikket kun XAML-indhold – intet SwapChainPanel-indhold)
  • Brugerdefineret markørunderstøttelse
  • Off-thread input
  • Forbedringer af vores værktøjs- / udvikleroplevelse:
    • Live Visual Tree, Hot Reload, Live Property Explorer og lignende værktøjer
    • Intellisense til WinUI 3
  • Forbedringer påkrævet til open source-migrering

For mere information om både fordelene ved WinUI 3 og WinUI køreplanen, se Windows UI Library Roadmap på GitHub.

Liste over fejl rettet i Preview 4

Nedenfor er en liste over brugervendte fejl, som teamet har rettet siden Preview 3. Der har også været en masse arbejde i gang med at omkring stabilisering og forbedring af vores test.

  • Denne udgivelse har fået en ny version af CS/WinRT og Windows SDK, som rettede følgende fejl:
    • Crash ved binding til en URI-ejendom ved hjælp af {Binding}
    • C#/WinRT Marshal-funktioner fungerer ikke korrekt med .NET 5
  • WinUI 3 går ned, når den kører på Windows Insider Builds
    • Tak til flere fællesskabsbidragydere for at rapportere denne fejl på GitHub!
  • WebView2 anvender ikke værtsappens sprog/lokalitet på CoreWebView2Environment
  • Windows Community Toolkit DataGrid-kontrol nedbryder app ved start/når rullepaneler vises
    • Tak til flere fællesskabsbidragydere for at rapportere denne fejl på GitHub!
  • Sidegengivelse kommer i en dårlig tilstand, når visningstilstand ændres
  • Crash, når du bruger Language ComboBox i CalendarView
  • WinUI 3 Desktop: Kan ikke tabe ud af WebView2
  • WinUI 3 Desktop: TreeView med afledte TreeViewNodes går ned
  • WinUI 3 Desktop: Kan ikke indtaste tekst i TextBox inde i ContentDialog
  • WinUI 3 Desktop: ALT og F6 virker ikke
  • Gammelt fjernet SwapChainPanel gengives oven på ny SwapChain
  • WinUI 3 Desktop: Kan ikke rulle med pegefeltet
  • Crash, når du bruger NavigationView-kontrol med flere vinduer i samme tråd
  • Tilgængelighedsproblem: Vis fokus ret på WinUI desktop app lancering
  • Adgangsbrud, mens du ruller i DataGrid
  • WinUI 3 Desktop: Fanecykling virker ikke
  • Træk og slip på GridView mislykkes i desktopapplikation med WinUI Xaml Islands
  • Tilgængelighedsproblem: Kan ikke rulle med PageUp/PageDown-tasterne på WinUI 3 Desktop
  • WebView2 har en forkert viewport-størrelse
  • WebView2 går ned ved klik efter åbning af MenuFlyout
  • WinUI 3 Desktop: Forsøg på at fjerne DropDownButton eller SplitButtons flyout forårsager appnedbrud
  • WebView2: Dobbelt højreklik på musen forårsager et nedbrud
  • Hvis du klikker på en ToggleSplitButton, får programmet til at gå ned
  • WinUI 3 Desktop: Tomt DesktopWindowXamlSource-vindue synligt på proceslinjen
  • WinUI 3 Desktop: DataGrid vises ikke
  • WinUI 3 Desktop: Kan ikke slippe filer til Grid
  • WinUI 3 Desktop: ItemsRepeater går ned i WinUI 3 Preview 2
  • AccessViolationException udløst ved opdatering af bindinger
  • WinUI 3 Desktop: app går ned ved scroll NavigationView
  • ItemsControl bliver ikke opdateret under dynamisk tilføjelse eller fjernelse af elementer i sin ItemsSource-samling.
  • Kompiler fejl C2760 i App.xaml.gh, hvis C++ Conformance Mode er aktiveret

Begrænsninger og kendte problemer

Preview 4-udgivelsen er simpelthen en forhåndsvisning med fejl, begrænsninger og andre problemer med scenarierne omkring Desktop-apps er særligt nye.

Følgende elementer er nogle af de kendte problemer med WinUI 3 Preview 4.

Udvikler værktøjer

  • Kun C#- og C++/WinRT-apps understøttes
  • Desktop-apps understøtter .NET 5 og C# 9 og skal pakkes i en MSIX-app
  • UWP-apps understøtter .NET Native og C# 7.3
  • Udviklerværktøjer og Intellisense fungerer muligvis ikke korrekt i Visual Studio version 16.8.
  • Ingen XAML Designer-understøttelse
  • Nye C++/CX-apps understøttes ikke, men dine eksisterende apps vil fortsætte med at fungere (flyt venligst til C++/WinRT så hurtigt som muligt)
  • Understøttelse af flere vinduer i Desktop-apps er i gang, men endnu ikke komplet og stabil.
    • Indsend venligst en fejl på vores repo, hvis du finder nye problemer eller regressioner med adfærd med flere vinduer.
  • Upakket desktop-implementering understøttes ikke
  • Når du kører en Desktop-app ved hjælp af F5, skal du sørge for, at du kører pakkeprojektet. Hvis du trykker F5 på app-projektet, køres en upakket app, som WinUI 3 endnu ikke understøtter.

Manglende platformfunktioner

  • xbox support
  • HoloLens support
  • Popup-vinduer
    • Mere specifikt er det ShouldConstrainToRootBounds egenskaben fungerer altid, som om den er indstillet til true, uanset ejendomsværdien.
  • Sværtestøtte
  • Akryl
  • MediaElement og MediaPlayerElement
  • MapControl
  • RenderTargetBitmap til SwapChainPanel og ikke-XAML-indhold
  • SwapChainPanel understøtter ikke gennemsigtighed
  • Global Reveal bruger fallback-adfærd, en solid børste
  • XAML Islands understøttes ikke i denne udgivelse
  • Tredjeparts økosystembiblioteker vil ikke fungere fuldt ud
  • IME'er virker ikke

Kendte problemer

  • Alt+F4 lukker ikke skrivebordsappvinduer.
  • På grund af ændringer med CoreWindow, fungerer følgende WinRT API'er muligvis ikke længere med desktop apps som forventet:

    For mere information om brug af WinRT API'er i din WinUI 3 Desktop-app, se Windows Runtime API'er tilgængelige for desktop-apps.

  • Windows.UI.ViewManagement.UISettings.ColorValuesChanged Event understøttes ikke længere i Desktop-apps. Dette kan forårsage problemer, hvis du bruger det til at registrere ændringer i Windows-temaer.
  • Denne udgivelse indeholder nogle eksperimentelle API'er. Disse er ikke blevet grundigt testet af teamet og kan have ukendte problemer. Vær venlig indsende en fejl på vores repo, hvis du støder på problemer.
  • Tidligere ville du ringe til for at få en CompositionCapabilities-instans CompositionCapabilites.GetForCurrentView(). Imidlertid var de muligheder, der blev returneret fra dette opkald ikke afhængig af udsigten. For at adressere og afspejle dette har vi slettet GetForCurrentView()-statikken i denne udgivelse, så nu kan du oprette en Sammensætningsevner objekt direkte.
  • For C# UWP-apps: WinUI 3-rammen er et sæt WinRT-komponenter, som kan bruges fra C++ (ved hjælp af C++/WinRT) eller C#. Når du bruger C#, er der to versioner af .NET, afhængigt af app-modellen: når du bruger WinUI 3 i en UWP-app, bruger du .NET Native; når du bruger i en Desktop-app, bruger du .NET 5 (og C#/WinRT). Når du bruger C# til en WinUI 3-app i UWP, er der nogle få API-navneforskelle sammenlignet med C# i en WinUI 3 Desktop-app eller en C# WinUI 2 app: nogle typer er i en Microsoft navneområde i stedet for et System navneområde. For eksempel snarere end INotifyPropertyChanged grænsefladen er i System.ComponentModel navneområde, det er i Microsoft.UI.Xaml.Data navneområde. Dette gælder for:
    • INotifyPropertyChanged (og relaterede typer)
    • INotifyCollectionChanged
    • ICommand

     System navneområdeversioner eksisterer stadig, men kan ikke bruges med WinUI 3. Det betyder, at ObservableCollection fungerer ikke som det er i WinUI 3 C# UWP-apps. For en løsning, se SamlingerInterop-eksempel i Eksempel på XAML Controls Gallery.

Hvad kommer dernæst?

Udviklere kan tage et kig på Microsofts detaljerede feature køreplan for at se, hvornår specifikke funktioner vil blive bragt ind i WinUI 3.

Installer WinUI 3 Preview 4

WinUI 3 Preview 4 inkluderer Visual Studio-projektskabeloner, der hjælper med at komme i gang med at bygge apps med en WinUI-baseret brugergrænseflade og en NuGet-pakke, der indeholder WinUI-bibliotekerne. Følg disse trin for at installere WinUI 3 Preview 4.

Windows Community Toolkit

Hvis du bruger Windows Community Toolkit, download den nyeste version.

Bortset fra begrænsninger og kendte problemer, at bygge en app ved hjælp af WinUI-projekterne svarer til at bygge en UWP-app med XAML og WinUI 2.x. Derfor er de fleste af vejledningsdokumentation til UWP-apps og Windows.UI WinRT-navneområder i Windows SDK er gældende.

For mere information om at komme i gang med WinUI-projektskabelonerne, se følgende artikler:

En API-referencedokumentation for denne udgivelse kommer snart, men i mellemtiden kan udviklere se på WinUI 3 API-referencedokumentation til Preview 3.

Hvis du har oprettet et projekt ved hjælp af WinUI 3 Preview 3, kan du opgradere dit projekt til at bruge Preview 4. Se WinUI GitHub-depot for detaljerede instruktioner.

For at drage fordel af de nyeste værktøjsfunktioner tilføjet til WinUI 3 Preview 4 som Hot Reload, Live Visual Tree og Live Property Explorer, skal du bruge den seneste forhåndsvisningsversion af Visual Studio med den seneste WinUI 3 preview og være sikker på at aktivere WinUI-værktøj i Visual Studio Preview-funktioner, som beskrevet i instruktioner her.

se WinUI 3 Preview 4-gren af ​​XAML Controls Gallery for en prøveapp, der inkluderer alle WinUI 3 Preview 4-kontroller og funktioner.


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

Denne WinUI 3 preview-udgivelse er beregnet til tidlig evaluering og til at indsamle feedback fra udviklerfællesskabet. Det burde IKKE bruges til produktionsapps. Microsoft vil fortsætte med at sende forhåndsvisningsudgivelser af WinUI 3 ind i 2021, efterfulgt af den første officielle, understøttede udgivelse i marts 2021.

Benyt venligst WinUI GitHub repo at give feedback og logforslag og problemer.

Mere om emnerne: udviklere, microsoft, winui 3 forhåndsvisning 4