Microsoft brengt Windows UI Library 3 Preview 4 uit

Pictogram voor leestijd 9 minuut. lezen


Lezers helpen MSpoweruser ondersteunen. We kunnen een commissie krijgen als u via onze links koopt. Tooltip-pictogram

Lees onze openbaarmakingspagina om erachter te komen hoe u MSPoweruser kunt helpen het redactieteam te ondersteunen Lees meer

winui 3

WinUI is een gebruikersinterfacelaag die moderne bedieningselementen en stijlen bevat voor het bouwen van Windows-apps, zowel Desktop als UWP. Als de native UI-laag in Windows, belichaamt het Fluent Design, waardoor elke Windows-app het gepolijste gevoel krijgt dat gebruikers verwachten.

[lwptoc title=”WinUI Bibliotheek 3 Voorbeeld 4″ width=”40%” float=”right”]

WinUI 3 is de nieuwste versie van het WinUI-framework en wordt later dit jaar verzonden. Het breidt WinUI drastisch uit tot een volledig UX-framework, waardoor WinUI beschikbaar is voor alle soorten Windows-apps - van Win32 tot UWP - voor gebruik als de UI-laag. Als ze klaar zijn, kan elke Windows-app profiteren van de moderne bedieningselementen die werken, ongeacht de Windows-versie waarop ze worden uitgevoerd.

Vandaag uitgebracht, WinUI 3 Voorbeeld 4 is een stabiliteitspreview-release die kritieke bugfixes en andere algemene verbeteringen voor het framework bevat.

Mogelijkheden geïntroduceerd in Preview 4

  • Pariteit met WinUI 2.5 (inclusief InfoBar-besturing, nieuwe functies in ProgressRing en NavigationView en bugfixes)
  • Aangepaste titelbalkmogelijkheden: nieuwe Window.ExtendsContentIntoTitleBar en Window.SetTitleBar API's waarmee ontwikkelaars aangepaste titelbalken kunnen maken in desktop-apps.
  • VirtualSurfaceImageSource-ondersteuning

Nieuwe functies en mogelijkheden geïntroduceerd in eerdere WinUI 3-previews

De volgende functies en mogelijkheden zijn geïntroduceerd in WinUI 3 Preview 1-3 en worden nog steeds ondersteund in WinUI 3 Preview 4.

  • Mogelijkheid om Desktop-apps te maken met WinUI, inclusief: .NET 5 voor Win32-apps
  • RadiaalGradientBorstel
  • TabBekijk updates
  • Donkere thema-updates
  • Verbeteringen en updates voor webview2
    • Ondersteuning voor hoge DPI
    • Ondersteuning voor het vergroten of verkleinen en verplaatsen van vensters
    • Bijgewerkt om een ​​recentere versie van Edge te targeten
    • Niet langer nodig om te verwijzen naar een WebView2-specifiek Nuget-pakket
  • SwapChain-paneel
  • MRT-kernondersteuning
    • Hierdoor worden apps sneller en lichter bij het opstarten en kunnen bronnen sneller worden opgezocht.
  • ARM64-ondersteuning
  • Slepen en neerzetten binnen en buiten apps
  • RenderTargetBitmap (momenteel alleen XAML-inhoud - geen SwapChainPanel-inhoud)
  • Aangepaste cursorondersteuning
  • Off-thread ingang
  • Verbeteringen aan onze tooling / ontwikkelaarservaring:
    • Live Visual Tree, Hot Reload, Live Property Explorer en vergelijkbare tools
    • Intellisense voor WinUI 3
  • Verbeteringen vereist voor open source-migratie

Voor meer informatie over zowel de voordelen van WinUI 3 als de WinUI-roadmap, zie de: Stappenplan voor Windows UI-bibliotheek op GitHub.

Lijst met bugs opgelost in Preview 4

Hieronder vindt u een lijst met gebruikersgerelateerde bugs die het team heeft opgelost sinds Preview 3. Er is ook veel werk verzet rond stabilisatie en het verbeteren van onze tests.

  • Deze release heeft een nieuwe versie van CS/WinRT en de Windows SDK gekregen, die de volgende bugs heeft verholpen:
    • Crash bij binding aan een URI-property met {Binding}
    • C#/WinRT Marshal-functies werken niet correct samen met .NET 5
  • WinUI 3 crasht bij gebruik op Windows Insider Builds
    • Dank aan meerdere communitybijdragers voor het melden van deze bug op GitHub!
  • WebView2 past de taal/landinstelling van de host-app niet toe op CoreWebView2Environment
  • Windows Community Toolkit DataGrid-besturing laat de app crashen bij het starten/wanneer schuifbalken verschijnen
    • Dank aan meerdere communitybijdragers voor het melden van deze bug op GitHub!
  • Paginaweergave raakt in een slechte staat wanneer de weergavemodus verandert
  • Crash bij gebruik van Language ComboBox in CalendarView
  • WinUI 3 Desktop: kan WebView2 niet verlaten
  • WinUI 3 Desktop: TreeView met afgeleide TreeViewNodes crasht
  • WinUI 3 Desktop: kan geen tekst invoeren in TextBox in ContentDialog
  • WinUI 3 Desktop: ALT en F6 werken niet
  • Oude verwijderde SwapChainPanel renders bovenop nieuwe SwapChain
  • WinUI 3 Desktop: kan niet scrollen met trackpad
  • Crash bij gebruik van NavigationView-besturingselement met meerdere vensters op dezelfde thread
  • Toegankelijkheidsprobleem: toon focus rect bij starten van WinUI desktop-app
  • Toegangsfout tijdens scrollen in DataGrid
  • WinUI 3 Desktop: Tab fietsen werkt niet
  • Slepen en neerzetten op GridView mislukt in desktoptoepassing met WinUI Xaml Islands
  • Toegankelijkheidsprobleem: kan niet scrollen met de PageUp/PageDown-toetsen op WinUI 3 Desktop
  • WebView2 heeft een verkeerde viewport-grootte
  • WebView2 crasht bij klikken na het openen van MenuFlyout
  • WinUI 3 Desktop: Poging om DropDownButton of de flyout van SplitButton neer te halen, veroorzaakt een crash van de app
  • WebView2: Dubbelklik op de muis veroorzaakt een crash
  • Als u op een ToggleSplitButton klikt, crasht de toepassing
  • WinUI 3 Desktop: Leeg DesktopWindowXamlSource-venster zichtbaar op taakbalk
  • WinUI 3 Desktop: DataGrid wordt niet weergegeven
  • WinUI 3 Desktop: kan geen bestanden op Grid neerzetten
  • WinUI 3 Desktop: ItemsRepeater crasht in WinUI 3 Preview 2
  • AccessViolationException gegenereerd bij het bijwerken van bindingen
  • WinUI 3 Desktop: app crasht bij scrollen NavigationView
  • ItemsControl wordt niet bijgewerkt tijdens het dynamisch toevoegen of verwijderen van items in de ItemsSource-verzameling.
  • Compileerfout C2760 in App.xaml.gh als C++ Conformance Mode is ingeschakeld

Beperkingen en bekende problemen

De Preview 4-release is gewoon een preview met bugs, beperkingen en andere problemen met de scenario's rond Desktop-apps zijn vooral nieuw.

De volgende items zijn enkele van de bekende problemen met WinUI 3 Preview 4.

Ontwikkelaarstools

  • Alleen C#- en C++/WinRT-apps worden ondersteund
  • Desktop-apps ondersteunen .NET 5 en C#9 en moeten worden verpakt in een MSIX-app
  • UWP-apps ondersteunen .NET Native en C# 7.3
  • Ontwikkelaarstools en Intellisense werken mogelijk niet goed in Visual Studio versie 16.8.
  • Geen XAML Designer-ondersteuning
  • Nieuwe C++/CX-apps worden niet ondersteund, maar uw bestaande apps blijven werken (ga zo snel mogelijk naar C++/WinRT)
  • Ondersteuning voor meerdere vensters in Desktop-apps is aan de gang, maar nog niet volledig en stabiel.
    • Dien een bug in op onze repo als u nieuwe problemen of regressies met multi-window-gedrag vindt.
  • Uitgepakte desktopimplementatie wordt niet ondersteund
  • Zorg er bij het uitvoeren van een Desktop-app met F5 voor dat u het verpakkingsproject uitvoert. Als u op F5 op het app-project drukt, wordt een onverpakte app uitgevoerd, die WinUI 3 nog niet ondersteunt.

Ontbrekende platformfuncties

  • Xbox-ondersteuning
  • HoloLens-ondersteuning
  • Pop-ups met vensters
    • Meer specifiek, de ShouldConstrainToRootBounds eigenschap werkt altijd alsof het is ingesteld op true, ongeacht de waarde van het onroerend goed.
  • Ondersteuning voor inkten
  • Acryl
  • MediaElement en MediaPlayerElement
  • Kaartcontrole
  • RenderTargetBitmap voor SwapChainPanel en niet-XAML-inhoud
  • SwapChainPanel ondersteunt geen transparantie
  • Global Reveal gebruikt fallback-gedrag, een solide penseel
  • XAML Islands wordt niet ondersteund in deze release
  • Ecosysteembibliotheken van derden werken niet volledig
  • IME's werken niet

Bekende problemen

  • Alt+F4 sluit de vensters van de Desktop-app niet.
  • Door veranderingen met KernVenster, werken de volgende WinRT API's mogelijk niet meer mee Desktop apps zoals verwacht:

    Voor meer informatie over het gebruik van WinRT API's in uw WinUI 3 Desktop-app, zie Windows Runtime API's beschikbaar voor desktop-apps.

  • Windows.UI.ViewManagement.UISettings.ColorValuesChanged-gebeurtenis wordt niet langer ondersteund in Desktop-apps. Dit kan problemen veroorzaken als u het gebruikt om wijzigingen in Windows-thema's te detecteren.
  • Deze release bevat enkele experimentele API's. Deze zijn niet grondig getest door het team en hebben mogelijk onbekende problemen. Alsjeblieft een bug melden op onze repo als u problemen ondervindt.
  • Voorheen, om een ​​CompositionCapabilities-instantie te krijgen, roep je: CompositionCapabilites.GetForCurrentView(). De mogelijkheden die uit deze oproep werden geretourneerd, waren echter: niet afhankelijk van het uitzicht. Om dit aan te pakken en weer te geven, hebben we de statische GetForCurrentView() in deze release verwijderd, dus nu kunt u een Samenstelling Mogelijkheden direct bezwaar maken.
  • Voor C# UWP-apps: Het WinUI 3-framework is een set WinRT-componenten die kunnen worden gebruikt vanuit C++ (met C++/WinRT) of C#. Als u C# gebruikt, zijn er twee versies van .NET, afhankelijk van het app-model: wanneer u WinUI 3 gebruikt in een UWP-app, gebruikt u .NET Native; bij gebruik in een Desktop-app gebruikt u .NET 5 (en C#/WinRT). Wanneer u C# gebruikt voor een WinUI 3-app in UWP, zijn er enkele verschillen in de API-naamruimte in vergelijking met C# in een WinUI 3 Desktop-app of een C# WinUI 2-app: sommige typen zijn in a Microsoft naamruimte in plaats van a System naamruimte. Bijvoorbeeld, in plaats van de INotifyPropertyChanged interface in de System.ComponentModel naamruimte, het staat in de Microsoft.UI.Xaml.Data namespace.Dit is van toepassing op:
    • INotifyPropertyChanged (en verwante soorten)
    • INotifyCollectionChanged
    • ICommand

    De System naamruimteversies bestaan ​​nog, maar kunnen niet worden gebruikt met WinUI 3. Dit betekent dat: ObservableCollection werkt niet zoals het is in WinUI 3 C# UWP-apps. Voor een tijdelijke oplossing, zie de CollectionsInterop-voorbeeld in de Voorbeeld van XAML Controls Gallery.

Wat komt er nu?

Ontwikkelaars kunnen een kijkje nemen in de gedetailleerde functie-roadmap om te zien wanneer specifieke functies in WinUI 3 worden toegevoegd.

Installeer WinUI 3 Preview 4

WinUI 3 Preview 4 bevat Visual Studio-projectsjablonen om aan de slag te gaan met het bouwen van apps met een op WinUI gebaseerde gebruikersinterface en een NuGet-pakket dat de WinUI-bibliotheken bevat. Volg deze stappen om WinUI 3 Preview 4 te installeren.

Windows Community-toolkit

Als u de Windows Community Toolkit gebruikt, download de nieuwste versie.

Afgezien van de beperkingen en bekende problemen, is het bouwen van een app met behulp van de WinUI-projecten vergelijkbaar met het bouwen van een UWP-app met XAML en WinUI 2.x. Daarom zijn de meeste begeleidingsdocumentatie voor UWP-apps en de Windows.UI WinRT-naamruimten in de Windows SDK zijn van toepassing.

Raadpleeg de volgende artikelen voor meer informatie over aan de slag gaan met de WinUI-projectsjablonen:

Er komt binnenkort een API-referentiedocumentatie voor deze release, maar in de tussentijd kunnen ontwikkelaars de: WinUI 3 API-referentiedocumentatie voor Preview 3.

Als u een project hebt gemaakt met WinUI 3 Preview 3, kunt u uw project upgraden om Preview 4 te gebruiken. Zie de WinUI GitHub-repository voor gedetailleerde instructies.

Om te profiteren van de nieuwste tooling-functies die zijn toegevoegd aan WinUI 3 Preview 4, zoals Hot Reload, Live Visual Tree en Live Property Explorer, moet u de nieuwste preview-versie van Visual Studio gebruiken met de nieuwste WinUI 3-preview en ervoor zorgen dat u deze inschakelt. WinUI-tooling in Visual Studio Preview-functies, zoals beschreven in de instructies hier.

Zie de  WinUI 3 Preview 4 tak van de XAML Controls Gallery voor een voorbeeld-app die alle WinUI 3 Preview 4-besturingselementen en -functies bevat.


Voorbeeld van de WinUI 3 Preview 4 XAML Controls Gallery-app

Deze preview-versie van WinUI 3 is bedoeld voor vroege evaluatie en om feedback van de ontwikkelaarsgemeenschap te verzamelen. Het zou moeten NIET worden gebruikt voor productie-apps. Microsoft zal doorgaan met het verzenden van preview-releases van WinUI 3 in 2021, gevolgd door de eerste officiële, ondersteunde release in maart 2021.

Maak gebruik van de WinUI GitHub-opslagplaats om feedback te geven en suggesties en problemen te loggen.

Meer over de onderwerpen: ontwikkelaars, microsoft, winui 3 voorbeeld 4