Microsoft brengt Windows UI Library 3 Preview 4 uit
9 minuut. lezen
Uitgegeven op
Lees onze openbaarmakingspagina om erachter te komen hoe u MSPoweruser kunt helpen het redactieteam te ondersteunen Lees meer
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 optrue
, ongeacht de waarde van het onroerend goed.
- Meer specifiek, de
- 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:
ApplicationView
en alle gerelateerde API's werken niet meer.CoreApplicationView
en alle gerelateerde API's werken niet meer.- Alles
GetForCurrentView
API's worden mogelijk niet ondersteund, bijvoorbeeldCoreInputView.GetForCurrentView
. CoreWindow.GetForCurrentThread
geeft nu nul terug.
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 aSystem
naamruimte. Bijvoorbeeld, in plaats van deINotifyPropertyChanged
interface in deSystem.ComponentModel
naamruimte, het staat in deMicrosoft.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.
Galerij met XAML-besturingselementen (WinUI 3 Preview 4 tak)
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.