Releaseopmerkingen voor het previewkanaal van de Windows App SDK 1.6
Belangrijk
Het preview-kanaal wordt niet ondersteund voor gebruik in productieomgevingen, en apps die gebruikmaken van de preview-versies kunnen niet worden gepubliceerd in de Microsoft Store.
Het preview-kanaal bevat releases van de Windows App SDK met preview-kanaalfuncties in latere ontwikkelingsfasen. Preview-versies bevatten geen experimentele functies en API's, maar kunnen nog steeds onderhevig zijn aan belangrijke wijzigingen vóór de volgende stabiele release.
Belangrijke koppelingen:
- Als u een bestaande app wilt upgraden van een oudere versie van de Windows App SDK naar een nieuwere versie, raadpleegt u Bestaande projecten bijwerken naar de nieuwste versie van de Windows App SDK-.
- Zie Hulpprogramma's installeren voor preview- en experimentele kanalen van de Windows App SDK-voor documentatie over preview-versies.
Versie 1.6 Preview 2 (1.6.0-preview2)
Dit is de nieuwste versie van het preview-kanaal voor versie 1.6.
In een bestaande Windows App SDK 1.5-app (vanuit het stabiele kanaal) kunt u uw Nuget-pakket bijwerken naar 1.6.0-preview2 (zie de sectie Een pakket bijwerken in Pakketten installeren en beheren in Visual Studio met behulp van de NuGet Package Manager-).
Voor de bijgewerkte runtime en MSIX, zie Downloads voor de Windows App SDK.
Nieuwe functies
Vereiste C#-projectwijzigingen voor 1.6-preview2
De C#-projectrichtlijnen van 1.6-preview1 zijn ook vereist voor deze release.
Ingebouwde AOT-ondersteuning
1.6-preview2 bevat belangrijke wijzigingen voor het bijwerken van de uitgebrachte Microsoft.Windows.CsWinRT versie 2.1.1 en het bouwen betrouwbaarder maken voor native Ahead-Of-Time compilatie.
Edge WebView2 SDK-integratie bijgewerkt
Deze release verwijst nu naar de uitgebrachte versie 1.0.2651.64 van het Microsoft.Web.WebView2
-pakket, die problemen met de voorlopige versie moet oplossen waarnaar wordt verwezen in 1.6-preview1. Zoals vermeld in 1.6-preview1, kunnen apps indien gewenst een nieuwere versie van het Microsoft.Web.WebView2
-pakket kiezen.
Bugfixes
1.6-preview2 bevat de volgende nieuwe oplossingen sinds de release van 1.6-preview1:
- Er is een crash opgelost bij het instellen van
InfoBar.IsOpen
in .xaml. Zie GitHub-probleem #8391voor meer informatie. - Er is een probleem opgelost waarbij HTML-elementen de aanwijzer zouden verliezen wanneer de muis buiten de
WebView2
grenzen werd verplaatst. Zie GitHub-probleem #8677voor meer informatie. - Er is een probleem opgelost waarbij het slepen en neerzetten in een flyout met
ShouldConstrainToRootBounds=false
niet werkte. Zie GitHub-probleem #9276voor meer informatie. - Er is een probleem opgelost waarbij
ms-appx://
verwijzingen niet werkten wanneerPublishSingleFile
is ingeschakeld. Zie GitHub-probleem #9468voor meer informatie. - Er is een probleem opgelost waarbij foutopsporingsprogrammasymbolen niet correct werkten voor sommige binaire bestanden. Zie GitHub-probleem #4633voor meer informatie.
- Er is een buildfout opgelost bij het gebruik van
/permissive-
. Zie GitHub-probleem #4643voor meer informatie. - Er zijn een aantal wijzigingen opgelost die fouten veroorzaken in de API in 1.6-preview1, veroorzaakt door hernoemde parameters. Zie GitHub-probleem #4645voor meer informatie.
- Build-onderbrekingen veroorzaakt door typeconflicten zijn opgelost in sommige projecten in 1.6-preview1, met name bij
Windows.UI.Text
typen. Zie GitHub-probleem #4646voor meer informatie. - Er is een probleem opgelost met het opzoeken van resources door besturingselementenbibliotheken in 1.6-preview1. Zie GitHub-probleem #4649voor meer informatie.
- Er is een mogelijke crash opgelost bij het gebruik van subklassen van
NavigationView
. - Er is een probleem opgelost waarbij tabelranden in een
RichEditBox
niet correct worden gewist bij het schuiven of verkleinen van de grootte van de tabel. - Er is een probleem opgelost waarbij flyouts van
MediaTransportControls
een volledig transparante achtergrond hadden. - Er is een probleem opgelost waarbij slepen naar een WebView2 mislukt of neervalt op de verkeerde locatie op andere weergaveschaalfactoren dan 100% of wanneer het schalen van systeemteksten is ingeschakeld.
- Er is een probleem opgelost waarbij
TextBox
/RichEditBox
geen toegankelijkheidsprogramma's aankondigde wanneer invoer wordt geblokkeerd vanwege eenMaxLength
limiet.
Versie 1.6 Preview 1 (1.6.0-preview1)
Dit is de nieuwste versie van het preview-kanaal voor versie 1.6.
In een bestaande Windows App SDK 1.5-app (vanuit het stabiele kanaal) kunt u uw Nuget-pakket bijwerken naar 1.6.0-preview1 (zie de sectie Een pakket bijwerken in Pakketten installeren en beheren in Visual Studio met behulp van de NuGet Package Manager-).
Voor de bijgewerkte runtime en MSIX, zie Downloads voor de Windows App SDK.
Nieuwe functies
Notitie
Het nieuwe titelbalkbesturingselement dat we hebben uitgebracht in 1.6-experimenteel1, is nog niet beschikbaar in niet-experimentele builds van 1.6, zodat er meer tijd is om feedback van de community te evalueren en erop te reageren. We hebben hier veel goede input ontvangen en willen ervoor zorgen dat we de tijd nemen die nodig is om dit te verhelpen.
Vereiste C#-projectwijzigingen voor 1.6-preview1
In 1.6-preview1 vereisen beheerde Windows App SDK-apps Microsoft.Windows.SDK.NET.Ref*.*.*.38
, die kunnen worden opgegeven via WindowsSdkPackageVersion- in uw csproj
-bestand. Bijvoorbeeld:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
<WindowsSdkPackageVersion>10.0.22621.38</WindowsSdkPackageVersion>
<PropertyGroup>
...
Bovendien moeten beheerde windows App SDK-apps worden bijgewerkt naar Microsoft.Windows.CsWinRT-2.1.1
(of hoger).
Systeemeigen AOT-ondersteuning
De .NET PublishAot
-projecteigenschap wordt nu ondersteund voor native Ahead-Of-Time-compilatie. Zie Systeemeigen AOT-implementatievoor meer informatie over systeemeigen AOT. Omdat AOT voortbouwt op Trimming-ondersteuning, is ook veel van de richtlijnen met betrekking tot Trimming die eerder zijn beschreven in de 1.6-experimental1-release van toepassing. Zie Native AOT-ondersteuning voor meer informatie.
Zoals hierboven vermeld, moeten C#-projecten een pakketverwijzing hebben naar Microsoft.Windows.CsWinRT 2.1.1 (of hoger). Deze versie bevat een AOT-veilige ICustomPropertyProvider
-implementatie. Typen die met deze ondersteuning worden gebruikt, moeten worden gemarkeerd met het kenmerk WinRT.GeneratedBindableCustomProperty
en als partial
worden aangemaakt.
Edge WebView2 SDK-integratie gewijzigd
De Windows App SDK gebruikt nu de Edge WebView2 SDK als NuGet-verwijzing in plaats van een in code vastgelegde versie van de Edge WebView2 SDK in te sluiten. Met het nieuwe model kunnen apps een nieuwere versie van het Microsoft.Web.WebView2
-pakket kiezen in plaats van te worden beperkt tot de versie waarmee de Windows App SDK is gebouwd. Met het nieuwe model kunnen apps ook verwijzen naar NuGet-pakketten die ook verwijzen naar de Edge WebView2 SDK. Zie GitHub-probleem #5689voor meer informatie.
Api's voor nieuwe pakketimplementatie
De Package Management-API heeft verschillende verbeteringen ontvangen, waaronder Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() en verschillende bugfixes. Zie PackageManagement.md en Pull Request #4453 voor meer informatie.
Verbeterde TabView-tab loskoppelfunctie
TabView
ondersteunt een nieuwe CanTearOutTabs
-modus die een verbeterde ervaring biedt voor het slepen van tabbladen en het slepen naar een nieuw venster. Wanneer deze nieuwe optie is ingeschakeld, is slepen van tabbladen erg vergelijkbaar met de slepen-ervaring op het tabblad in Edge en Chrome, waarbij een nieuw venster onmiddellijk wordt gemaakt tijdens het slepen, zodat de gebruiker het naar de rand van het scherm kan slepen om het venster in één vloeiende beweging te maximaliseren of uit te lijnen. Deze implementatie maakt ook geen gebruik van API's voor slepen en neerzetten, dus deze worden niet beïnvloed door beperkingen in deze API's. Opmerkelijk is dat tab-scheuring wordt ondersteund in processen die worden uitgevoerd met verhoogde bevoegdheden als Administrator.
Andere belangrijke wijzigingen
- We hebben een nieuwe
ColorHelper.ToDisplayName()
-API toegevoegd, waardoor die kloof van UWP wordt opgevuld. - Er is een nieuwe
Microsoft.Windows.Globalization.ApplicationLanguages
klasse toegevoegd, met name een nieuwePrimaryLanguageOverride
functie. Zie GitHub-probleem #4523voor meer informatie. - Niet-verzegelde
ItemsWrapGrid
. Dit moet een achterwaarts compatibele wijziging zijn. -
PipsPager
ondersteunt een nieuwe modus waarin het kan omschakelen tussen het eerste en de lijstitems. -
RatingControl
is nu meer aanpasbaar, door enkele in code vastgelegde stijleigenschappen naar themaresources te verplaatsen. Hierdoor kunnen apps deze waarden overschrijven om het uiterlijk van RatingControl beter aan te passen.
Bekende problemen
- Als het foutopsporingsprogramma is ingesteld om te onderbreken bij alle C++-uitzonderingen, zal het onderbreken bij een paar storende uitzonderingen bij het opstarten in de BCP47-code (Windows Globalization).
Bugfixes
- Er zijn enkele problemen opgelost met betrekking tot het afhandelen van aangepaste titelbalkscenario's. Zie GitHub-problemen #7629, #9670, #9709 en #8431voor meer informatie.
- Er is een probleem opgelost waarbij
InfoBadge
pictogram niet zichtbaar was. Zie GitHub-probleem #8176voor meer informatie. - Er is een probleem opgelost met pictogrammen die soms op de verkeerde positie in
CommandBarFlyout
worden weergegeven. Zie GitHub-probleem #9409voor meer informatie. - Er is een probleem opgelost met de toetsenbordfocus in menu's bij het openen of sluiten van een submenu. Zie GitHub-probleem #9519voor meer informatie.
- Er is een probleem opgelost met
TreeView
met behulp van de onjuisteIsExpanded
status bij het recyclen van items. Zie GitHub-probleem #9549voor meer informatie. - Er is een probleem opgelost bij het gebruik van een ElementName-binding in een
ItemsRepeater.ItemTemplate
. Zie GitHub-probleem #9715voor meer informatie. - Een probleem is opgelost waarbij het eerste item in een
ItemsRepeater
soms een onjuiste positie heeft. Zie GitHub-probleem #9743voor meer informatie. - Er is een probleem opgelost met
InputNonClientPointerSource
die soms de invoer voor de knoppen min/max/sluit onderbroken. Zie GitHub-probleem #9749voor meer informatie. - Er is een compilatiefout opgelost bij het gebruik van Microsoft.UI.Interop.h met clang-cl. Zie GitHub-probleem #9771voor meer informatie.
- Er is een probleem opgelost waarbij de
CharacterReceived
gebeurtenis niet werkte inComboBox
/TextBox
. Zie GitHub-probleem #9786voor meer informatie. - Het probleem opgelost in de 1.6-experimentele builds waarbij het invoergedrag van de aanwijzer voor
CanTearOutTabs
onjuist was op monitoren met een andere schaalfactor dan 100%. Zie GitHub-probleem #9791voor meer informatie. - Het probleem opgelost in de build 1.6-experimenteel2 waarbij sommige taalvertalingen tekencoderingsproblemen hadden voor
ColorHelper.ToDisplayName()
. - Er is een probleem opgelost van 1.6-experimenteel1 waarbij
NumberBox
niet de juiste voorgrond- en achtergrondkleuren gebruikte. Zie GitHub-probleem #9714voor meer informatie. - Er is een probleem opgelost waarbij dubbele
KeyUp
gebeurtenissen werden gegenereerd voor pijl- en tabtoetsen. Zie GitHub-probleem #9399voor meer informatie. - Er is een probleem opgelost waarbij de
PowerManager.SystemSuspendStatusChanged
gebeurtenis onbruikbaar was om deSystemSuspendStatus
te verzamelen. Zie GitHub-probleem #2833voor meer informatie. - Er is een probleem opgelost waarbij de initiële toetsenbordfocus niet correct was toegekend aan een
WebView2
toen dat het enige besturingselement in het raam was. - Er is een probleem opgelost bij het gebruik van
ExtendsContentIntoTitleBar=true
waarbij de knoppen Min/Max/Sluiten niet correct werden weergegeven in de UI Automation, waardoor spraaktoegang geen nummers voor deze knoppen kon tonen. - Er is een probleem opgelost waarbij een app tijdens een vergrendelingscontrole kon vastlopen door onverwachte re-entrancy.
- Er is een probleem opgelost waarbij
Hyperlink
kleuren niet correct zijn bijgewerkt bij het overschakelen naar een thema met hoog contrast. - Er is een probleem opgelost waarbij het wijzigen van de collectie van een
ListView
in een achtergrondvenster dat venster onjuist naar de voorgrond verplaatst en de focus naar dat venster verplaatst. - Er is een probleem opgelost van 1.6-experimenteel1 waarbij het instellen van
AcrylicBrush.TintLuminosityOpacity
in .xaml in een klassebibliotheekproject vastliep met een typeconversiefout. - Er is een probleem opgelost waarbij het aanroepen van
ItemsRepeater.StartBringIntoView
soms ertoe kon leiden dat items verdwijnen. - Er is een probleem opgelost waarbij het aanraken en slepen op een
Button
in eenScrollViewer
deze in een ingedrukt toestand zou laten staan. - IntelliSense is bijgewerkt. Deze informatie ontbreekt voor veel nieuwere typen en leden.
- Er is een probleem opgelost waarbij klikken in een leeg gebied van een
ScrollViewer
de focus altijd verplaatst naar het eerste focusbare besturingselement in deScrollViewer
en dat besturingselement in beeld zou schuiven. Zie GitHub-probleem #597voor meer informatie. - Er is een probleem opgelost waarbij de
Window.Activated
gebeurtenis soms meerdere keren werd geactiveerd. Zie GitHub-probleem #7343voor meer informatie. - Er is een probleem opgelost waarbij het instellen van de eigenschap
NavigationViewItem.IsSelected
optrue
ervoor zorgde dat subitems niet werden weergegeven wanneer ze werden uitgevouwen. Zie GitHub-probleem #7930voor meer informatie. - Er is een probleem opgelost waarbij
MediaPlayerElement
bijschriften niet goed weergeeft metNone
ofDropShadow
randeffecten. Zie GitHub-probleem #7981voor meer informatie. - Er is een probleem opgelost waarbij de eigenschap
Flyout.ShowMode
niet werd gebruikt bij het weergeven van de flyout. Zie GitHub-probleem #7987voor meer informatie. - Er is een probleem opgelost waarbij
NumberBox
soms afrondingsfouten had. Zie GitHub-probleem #8780voor meer informatie. - Er is een probleem opgelost waarbij het gebruik van een bibliotheek die is gecompileerd op basis van een oudere versie van WinAppSDK een fout kon raken bij het vinden van een type of eigenschap. Zie GitHub-probleem #8810voor meer informatie.
- Er is een probleem opgelost waarbij de eerste toetsenbordfocus niet was ingesteld bij het starten van een venster. Zie GitHub-probleem #8816voor meer informatie.
- Er is een probleem opgelost waarbij
FlyoutShowMode.TransientWithDismissOnPointerMoveAway
niet werkte na de eerste keer dat het werd weergegeven. Zie GitHub-probleem #8896voor meer informatie. - Er is een probleem opgelost waarbij sommige besturingselementen niet correct sjabloongebonden waren aan de
Foreground
- enBackground
-eigenschappen. Zie GitHub-probleem #7070, #9020, #9029, #9083 en #9102voor meer informatie. - Er is een probleem opgelost waarbij
ThemeResource
's inVisualStateManager
-setters niet werden bijgewerkt bij wijziging van het thema. Deze besturingselementen worden vaak getroffen in flyouts. Zie GitHub-probleem #9198voor meer informatie. - Er is een probleem opgelost waarbij
WebView
de sleutelfocus verliest, wat resulteert in extra wazige focusgebeurtenissen en andere problemen. Zie GitHub-probleem #9288voor meer informatie. - Er is een probleem opgelost waarbij
NavigationView
een bindingsfout kon weergeven in de debug-uitvoer. Zie GitHub-probleem #9384voor meer informatie. - Er is een probleem opgelost waarbij SVG-bestanden die een negatief weergavevak definiëren niet meer worden weergegeven. Zie GitHub-probleem #9415voor meer informatie.
- Er is een probleem opgelost waarbij het wijzigen van de oriëntatie van
ItemsView.Layout
ervoor zorgde dat een item werd verwijderd. Zie GitHub-probleem #9422voor meer informatie. - Een probleem opgelost waarbij scrollen van een
ScrollView
veel debug-uitvoer genereerde. Zie GitHub-probleem #9434voor meer informatie. - Er is een probleem opgelost waarbij
MapContorl.InteractiveControlsVisible
niet goed werkte. Zie GitHub-probleem #9486voor meer informatie. - Er is een probleem opgelost waarbij de
MapControl.MapElementClick
-gebeurtenis niet correct werd geactiveerd. Zie GitHub-probleem #9487voor meer informatie. - Er is een probleem opgelost waarbij x:Bind niet controleerde op null voordat een zwakke verwijzing werd gebruikt, wat kan leiden tot een crash. Zie GitHub-probleem #9551voor meer informatie.
- Er is een probleem opgelost waarbij het wijzigen van de eigenschap
TeachingTip.Target
de positie ervan niet correct heeft bijgewerkt. Zie GitHub-probleem #9553voor meer informatie. - Er is een probleem opgelost waarbij vervolgkeuzelijsten niet reageerden in WebView2. Zie GitHub-probleem #9566voor meer informatie.
- Er is een geheugenlek opgelost bij het gebruik van
GeometryGroup
. Zie GitHub-probleem #9578voor meer informatie. - Er is een probleem opgelost waarbij het schuiven door een zeer groot aantal items uit een
ItemRepeater
in eenScrollView
lege weergaveframes kon veroorzaken. Zie GitHub-probleem #9643voor meer informatie. - Er is een probleem opgelost waarbij
SceneVisual
niet werkte.
Nieuwe API's in 1.6.0-preview1
Versie 1.6-preview1 bevat de volgende nieuwe API's in vergelijking met de stabiele versie 1.5:
Microsoft.UI
ColorHelper
ToDisplayName
Microsoft.UI.Input
EnteredMoveSizeEventArgs
EnteringMoveSizeEventArgs
ExitedMoveSizeEventArgs
InputNonClientPointerSource
EnteredMoveSize
EnteringMoveSize
ExitedMoveSize
WindowRectChanged
WindowRectChanging
MoveSizeOperation
WindowRectChangedEventArgs
WindowRectChangingEventArgs
Microsoft.UI.Xaml
XamlRoot
CoordinateConverter
Microsoft.UI.Xaml.Automation.Peers
ScrollPresenterAutomationPeer
Microsoft.UI.Xaml.Controls
PipsPager
WrapMode
WrapModeProperty
PipsPagerWrapMode
TabView
CanTearOutTabs
CanTearOutTabsProperty
ExternalTornOutTabsDropped
ExternalTornOutTabsDropping
TabTearOutRequested
TabTearOutWindowRequested
TabViewExternalTornOutTabsDroppedEventArgs
TabViewExternalTornOutTabsDroppingEventArgs
TabViewTabTearOutRequestedEventArgs
TabViewTabTearOutWindowRequestedEventArgs
Microsoft.Windows.Globalization
ApplicationLanguages
Microsoft.Windows.Management.Deployment
EnsureReadyOptions
RegisterNewerIfAvailable
PackageDeploymentFeature
PackageDeploymentManager
IsPackageDeploymentFeatureSupported
IsPackageProvisioned
IsPackageProvisionedByUri
IsPackageReadyOrNewerAvailable
IsPackageReadyOrNewerAvailableByUri
IsPackageSetProvisioned
IsPackageSetReadyOrNewerAvailable
PackageReadyOrNewerAvailableStatus
Microsoft.Windows.Storage
ApplicationData
ApplicationDataContainer
ApplicationDataContract
ApplicationDataCreateDisposition
ApplicationDataLocality
Verwante onderwerpen
Windows developer