Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den stabila kanalen innehåller versioner av Windows App SDK som stöds för användning av appar i produktionsmiljöer. Appar som använder den stabila versionen av Windows App SDK kan också publiceras till Microsoft Store.
Viktiga länkar:
- Om du vill uppgradera en befintlig app från en äldre version av Windows App SDK till en nyare version kan du läsa Uppdatera befintliga projekt till den senaste versionen av Windows App SDK.
Senaste stabila kanalversionen:
Nedladdningar för Windows App SDK
Anmärkning
Windows App SDK Visual Studio Extensions (VSIX) distribueras inte längre som en separat nedladdning. De är tillgängliga på Visual Studio Marketplace i Visual Studio.
Version 1.4.7 (1.4.240802001)
Det här är en serviceversion av Windows App SDK som innehåller kritiska felkorrigeringar för 1.4-versionen.
- Åtgärdade ett problem där
ItemsRepeaterdet inte skulle generera tillräckligt många objekt om det fanns i ettShouldConstrainToRootBounds="false"popup-fönster som var längre eller bredare än huvudfönstret. - Åtgärdade en potentiell krasch vid nedstängning om en
AnnotatedScrollBaretikettuppdatering väntade.
Version 1.4.6 (1.4.240512000)
Det här är en serviceversion av Windows App SDK som innehåller kritiska felkorrigeringar för 1.4-versionen.
- En potentiell krasch har åtgärdats vid bearbetning av indata.
- Åtgärdade ett problem där en dra-och-släpp-åtgärd som startades från en annan app kanske inte tillåter korrekta åtgärder för kopiering/flyttning/länkning.
- Fixad information om WinUI-källservern för felsökning för att korrekt peka på GitHub-repot microsoft-ui-xaml.
- Ett problem med korrigeringen för GitHub-problemet #8857 har åtgärdats för att korrekt sammanfoga ett bibliotek
resources.prii appensresources.pri.
Version 1.4.5 (1.4.240211001)
Det här är en serviceversion av Windows App SDK som innehåller kritiska felkorrigeringar för 1.4-versionen.
- Ett problem som kunde hänga program när du klickade på en musknapp när du bläddrade med mushjulet har åtgärdats. Mer information finns i GitHub-problem #9233.
- Ett problem med duplicerade tillgångar har åtgärdats vid hänvisning till en kedja med NuGet-paket. Mer information finns i GitHub-problem #8857.
-
BreadcrumbBarFlera problem har åtgärdats, bland annat en minnesläcka, en krasch när ellipsmenyn är tom och ellipsmenyn är felaktigt begränsad i fönstret. - Åtgärdade en risk för krasch under avstängning när grafikresurser frigörs.
Version 1.4.4 (1.4.231219000)
Det här är en serviceversion av Windows App SDK som innehåller kritiska felkorrigeringar för 1.4-versionen.
- Ett säkerhetsproblem med WinUI 3-diagnostik har åtgärdats.
- Ett indataproblem har åtgärdats där lösenordsrutan inte visade skärmtangentbordet när det aktiverades via touch. Mer information finns i GitHub-problem #8946.
- Ett problem som gjorde att filstorleken
Microsoft.UI.Xaml.Controls.dllökade oväntat har åtgärdats. -
CommandBarFlyoutEtt problem som kan orsaka krascher vid fokusering har åtgärdats. - Windows App SDK-stöd har uppdaterats för .NET 8 RID-specifik tillgångshantering.
- Ett problem har åtgärdats som gjorde att vissa växlingskedjor placerades eller sträcktes ut felaktigt.
Version 1.4.3 (1.4.231115000)
Det här är en serviceversion av Windows App SDK som innehåller kritiska felkorrigeringar för 1.4-versionen.
- Åtgärdade ett problem där en meny kunde visas utan bakgrund under en kort tidsperiod.
- En krasch som kan inträffa i specifika scenarier med flera övervakare har åtgärdats.
- Ett problem där en snabbmeny kunde visas utanför skärmen har åtgärdats.
- Ett problem med fönsterformat och maximerande beteende har åtgärdats. Mer information finns i GitHub-problem #8996.
- Ett problem med öar där fokus oväntat kunde tas från en annan kontroll har åtgärdats.
- Ett problem med tabbordning har åtgärdats på
NavigationView. - Ett återgivningsproblem har åtgärdats där ett vitt fält kan vara synligt överst i namnlisten. Mer information finns i GitHub-problem #8947.
- Olika prestandakorrigeringar.
Version 1.4.2 (1.4.231008000)
Det här är en serviceversion av Windows App SDK som innehåller kritiska felkorrigeringar för 1.4-versionen.
- Åtgärdade ett kraschande problem i explorer.exe som orsakades av överdriven minnes- och objektallokering.
- Åtgärdade ett interaktionsproblem med namnlisten som hindrade bakåtknappen från att fungera korrekt.
- Ett problem som orsakade att en varning genererades för en källfil som inkluderades flera gånger har åtgärdats.
- Ett problem som påverkade snabbmenyprestanda har åtgärdats.
- Fixade ett .lnk genvägsproblem som gjorde att målet .exe alltid pekade på samma plats för paket i WindowsApps-mappen.
- Ett DWriteCore-problem som påverkar korrekt återgivning av indic text i vissa teckensnitt har åtgärdats.
- Ett problem har åtgärdats i en listvy som förhindrade korrekt tangentbordsnavigering till och från kapslade markerade objekt med Tab/Skift + Tab.
- Åtgärdade ett problem som hindrade rullning av ComboBox-element med beröring efter att ComboBox expanderats en andra gång. Mer information finns i GitHub-problem #8831.
- Ett problem har åtgärdats där Windows App SDK-paket inte innehöll WinUI:s lokaliserade resurser för vissa språk.
- En inkonsekvens har åtgärdats mellan hur Utforskaren och XAML visar en användares föredragna språk.
- Ett designproblem har åtgärdats i Utforskaren, som orsakar att en tunn linje visas under den aktiva fliken.
- Åtgärdade ett problem där vissa ramverksbaserade tangentbordsacceleratorer inte var korrekt lokaliserade. Mer information finns i GitHub-problem #2023.
- Åtgärdade ett problem med RepeatButton-kontroller som rullades upprepade gånger när de trycktes.
- Fixade Windows App SDK-installationsprogrammet .exe så att det har korrekt versionsinformation för resurser.
Version 1.4.1 (1.4.230913002)
Det här är en serviceversion av Windows App SDK som innehåller kritiska felkorrigeringar för 1.4-versionen.
- Åtgärdade prestandaproblem för att förbättra tiden till första bildrutan.
- Åtgärdade ett problem där menyerna inte respekterade
RequestedTheme. Det var till exempel möjligt att det här problemet ledde till vit text i en vit bakgrund. Mer information finns i GitHub-problem #8756. - Ett problem som gjorde att akrylbakgrunder ibland blev helt transparenta i vissa menyer har åtgärdats.
- Åtgärdade ett problem där XAML ibland gjorde att Windows i onödan ommålade skrivbordsunderlägget.
- Åtgärdat stöd för
TabNavigation = LocalochTabNavigation = CycleförListViewochGridView, vilket nu möjliggör navigering mellan rubriker och objekt med TAB-tangenten utöver piltangenter. - Åtgärdade vissa störande undantag vid stängning av en knappbeskrivning. Mer information finns i GitHub-problem #8699.
Nya och uppdaterade funktioner och kända problem för version 1.4
I följande avsnitt beskrivs nya och uppdaterade funktioner och kända problem för version 1.4.
I en befintlig Windows App SDK 1.3-app kan du uppdatera Nuget-paketet till 1.4.230822000 (se avsnittet Uppdatera ett paket i Installera och hantera paket i Visual Studio med Hjälp av NuGet Package Manager).
För den uppdaterade körtiden och MSIX, se Senaste nedladdningar för Windows App SDK.
Anpassad rubrikfält + Sammanslagning av namnlist i AppWindow
Den anpassade namnlisten i WinUI 3 använder implementeringen av AppWindow-namnlisten, tillsammans med API:erna NonClientInputPointerSource bakom kulisserna i Windows App SDK 1.4. Därför fungerar båda implementeringarna av namnlisten på samma sätt med samma funktioner och begränsningar. Detta är helt bakåtkompatibelt i alla fall som stöds – alla appar med en egendefinierad rubriklist fungerar som tidigare. Men nu är det enklare för WinUI 3-utvecklare som kanske är nya för anpassade namnlister att förstå och använda dem genom att dra nytta av dessa nya funktioner:
- Ett bättre standardscenario där utvecklaren inte definierar ett titlebar-element specifikt (ersätter återställningsrubrikfältet från WinUI 2)
- Distinkta draområden i namnlisten, vilket gör att du kan skapa flera draområden och placera klickbara kontroller på valfri del av det icke-klientområdet (titelbarsområdet).
- Applikationsomfattande områden som kan dras och placeras var som helst i appen eller göra hela appen flyttbar
- Bättre temastöd som ersätter resursbaserade teman
- Eftersom områden för dragning är transparenta, följer de apptemat hela tiden.
- Mer anpassning: dölj knapparna min, max och close; placera systemikoner i namnlisten; eller låta olika regioner fungera som bildtextknappar som tar emot NCHITTEST-svar
- Mer utvecklarfrihet som gör att du kan blanda och matcha med API:er för AppWindow-namnlisten, till exempel att använda WinUI 3-API:er på högre nivå för de flesta scenarier, men med AppWindow-API:er blandade för kontroll på lägre nivå
Uppdateringar av widgetar
Tre nya gränssnitt har lagts till för widgetprovidrar att implementera: IWidgetProvider2, IWidgetProviderAnalyticsoch IWidgetProviderErrors.
IWidgetProvider2 tillåter leverantörer att svara på åtgärden Anpassa som anropas av användaren, vilket är identiskt med vad som är tillgängligt för widgetar från första part. Gränssnitten IWidgetProviderAnalytics och IWidgetProviderErrors används av leverantörer för att samla in telemetri för sina widgetar. Analys- och felhändelser om widgetar kommuniceras till respektive widgetprovidrar. Klasserna WidgetCustomizationRequestedArgs, WidgetAnalyticsInfoReportedArgsoch WidgetErrorInfoReportedArgs används för att kommunicera relevant information för att stödja nya funktioner.
XAML-öarna är inte längre experimentella
XAML Islands och den underliggande ContentIslands-plattformen är inte längre experimentella.
- För närvarande testas endast XAML-öar för användning i C++-appar. Den här versionen innehåller inte några praktiska omslutningselement för användning i WPF eller WinForms.
-
DesktopWindowXamlSourceoch relaterade typer har lagts till i namnområdet Microsoft.UI.Xaml.Hosting för XAML Islands.XamlRoot.ContentIslandEnvironmentlades till för att få åtkomst till den underliggande öinformationen för ett element. - Många nya typer har introducerats i namnområdet Microsoft.UI.Content och namnområdet Microsoft.UI.Input som underliggande stöd för XAML Islands eller för att använda den här ContentIslands-funktionen utan XAML.
- En ny
DragDropManager(och relaterade typer) har lagts till i namnområdet Microsoft.UI.Input.DragDrop för Island-scenarier.
ItemsView
Vi introducerar en ny listkontroll med namnet ItemsView och en motsvarande betongklass ItemContainer .
ItemContainer är en lätt container med inbyggda valstatusar och visuella objekt, som enkelt kan omsluta önskat innehåll och användas tillsammans med ItemsView i ett scenario för samlingskontroll.
- Den nya
ItemsViewkontrollen visar en datainsamling.ItemsViewliknarListViewkontrollerna ochGridViewmen skapas med hjälp av komponenternaItemsRepeater,ScrollViewItemContainerochItemCollectionTransitionProvider. Det ger den unika möjligheten att ansluta anpassadeLayoutellerItemCollectionTransitionProviderimplementeringar. En annan viktig fördel är möjligheten att växla layout i farten samtidigt som objektval bevaras. Den inreScrollViewkontrollen erbjuder även funktioner som inte är tillgängliga iListView/GridViewkontrollenScrollViewer, till exempel möjligheten att styra animeringen under programmatiska rullar.- Med en ny
ItemTransitionProvideregenskap påItemsRepeater(och den nyaItemsViewkontrollen) kan du ange ettItemCollectionTransitionProviderobjekt för att styra övergångsanimeringar på den kontrollen. EnCreateDefaultItemTransitionProvider-metod har också lagts tillLayout, vilket gör det möjligt för ett layoutobjekt att tillhandahålla en reservövergång som följer med om du inte uttryckligen anger en förItemsView-kontrollen. - En ny
IndexBasedLayoutOrientation-egenskap påLayoutdär objektens layoutorientering, om sådan finns, baseras på deras index i källsamlingen. Standardvärdet ärIndexBasedLayoutOrientation.None. Anpassade layouter anger den här egenskapen genom att anropa den nya (skyddade)SetIndexBasedLayoutOrientationmetoden. - En ny
VisibleRectegenskap påVirtualizingLayoutContexthämtar den synliga viewport-rektangeln inom denFrameworkElementsom är associerad medLayout. Den skyddade virtuellaVirtualizingLayoutContext.VisibleRectCoremetoden kan åsidosättas för att ange det värde som ska returneras frånVisibleRectegenskapen.
- Med en ny
- Den nya
LinedFlowLayoutklassen används vanligtvis för att lägga ut objekten iItemsViewsamlingskontrollen. Det är särskilt användbart för att visa samling bilder. Det gör det genom att lägga ut dem från vänster till höger, och uppifrån och ned, i linjer med samma höjd. Bilderna fyller en vågrät linje och bryts sedan om till nästa rad. Bilder kan beskäras vid vänster och höger kanter för att passa in i en linje. De kan också expanderas vågrätt och beskäras i de övre och nedre kanterna för att fylla en linje när stretchingläget används.
Nya funktioner i Windows App SDK
- En ny
ThemeSettingsklass som gör att Win32 WinRT-appar kan identifiera när systemets högkontrastinställning har ändrats, liknande UWP:s AccessibilitySettings-klass . Mer information finns i API-specifikationen för ThemeSettings på GitHub. -
AccessKeyManager.EnterDisplayModeär en ny metod för att visa åtkomstnycklar för det nuvarande fokuserade elementet i en angiven rot. Åtkomstnycklar är i "visningsläge" när du visar ett nyckeltips för att anropa ett kommando, till exempel genom att trycka på Alt-tangenten i Paint för att visa vilka nycklar som motsvarar vilka kontroller. Med den här metoden kan du programmatiskt ange visningsläge. -
Application.ResourceManagerRequestedtillhandahåller en mekanism för att tillhandahålla en annanIResourceManagermetod för att lösa resurs-URI:er för scenarier när standardvärdetResourceManagerinte fungerar. Mer information finns i API-specifikationen Application.ResourceManagerRequested på GitHub. - Versionen av WebView2 SDK uppdaterades från 1661.34 till 1823.32.
-
Popup/FlyoutBase.IsConstrainedToRootBounds = falsestöds nu, vilket gör att ett popup-fönster/utfällbara objekt kan utökas utanför gränserna för det överordnade fönstret. EnSystemBackdropegenskap har lagts till i dessa typer för att stödja akryl i obegränsade popup-fönster. Menyer använder som standard akryl. -
Closed,FrameworkClosedochIsClosedhar lagts tillDesktopAcrylicControlleri ochMicaControllerför att förbättra hanteringen under objekt-/trådavstängning. -
DesktopAcrylicController.Kindkan nu ställas in för att välja mellan vissa standardakrylutseenden. -
DispatcherQueuehar några nya händelser och hjälpfunktioner för att underlätta mer välorganiserad avstängning och för appar som använder Öar för att enkelt köra en standardstödd händelseloop. -
InputNonClientPointerSourcei namnrymden Microsoft.UI.Input kan användas för scenarier med anpassade namnlister för att definiera regioner som inte är klientområden. Kod kan registrera motsvarande händelser som hover- och klickhändelser i dessa regioner. -
AppWindowhar några nya verktyg för att hämta och koppla samman med enDispatcherQueue. - Den nya
TreeView.SelectionChangedhändelsen gör att utvecklare kan svara när användaren eller bakomliggande kod ändrar uppsättningen med valda noder iTreeViewkontrollen. - Den nya
ScrollViewkontrollen är ett nytt alternativ tillScrollViewer. Den här nya kontrollen är mycket anpassad i beteende och API med den befintligaScrollViewerkontrollen, men baseras påInteractionTracker, har nya funktioner som animeringsdrivna vyändringar och är också utformad för att säkerställa fullständig funktionalitet förItemsRepeater. Se En mer flexibel ScrollViewer · Problem #108 · microsoft/microsoft-ui-xaml (github.com) för mer information. Olika nya typer, inklusiveScrollPresenter, ingår i den övergripandeScrollViewmodellen. - Den nya
AnnotatedScrollBarkontrollen utökar en vanlig rullningslists funktioner genom att ge ett enkelt sätt att navigera genom en stor samling objekt. Detta uppnås genom en klickbar räls med etiketter som fungerar som markörer. Det ger också en mer detaljerad förståelse av det rullningsbara innehållet genom att visa ett verktygstips när du hovrar över den klickbara skenan.
Kända problemområden
- När du använder
ExtendsContentIntoTitleBar = true, visas systemfönstrets meny (Minimera/Stäng/etc.) alltid när du klickar i det övre vänstra hörnet av fönstret som standard, i stället för att låta pekarinmatningen nå innehållet i fönstret. Detta innebär till exempel att en bakåtknapp i det området i namnlisten inte fungerar. En lösning på det här problemet är att ställa inAppWindow.TitleBar.IconShowOptions = Microsoft.UI.Windowing.IconShowOptions.HideIconAndSystemMenupå fönstrets AppWindow. - Det finns några nya kontinuerliga undantag när du döljer
ShouldConstrainToRootBounds="False"popup-fönster/utfällbara fönster. Det inkluderar att dölja knappbeskrivningar, som rapporteras här: Om du stänger en knappbeskrivning genereras 4 interna undantag · Problem #8699 · microsoft/microsoft-ui-xaml (github.com) - I version 1.4 ritas knapparna för minimera/maximera/stänga för
ExtendsContentIntoTitleBar = truenu av AppWindow istället för av XAML. Detta är avsiktligt, men det kan påverka appar som åsidosätter XAML:s interna format för att dölja eller göra extra anpassning av dessa knappar, till exempel i den här rapporten: Det går inte att dölja bildtextknappen på rubrikfältet · Problem #8705 · microsoft/microsoft-ui-xaml (github.com) - Det skedde en brytande ändring i .NET 8 för hur det hanterar RID-grafen: [Brytande ändring]: Projekt som riktar sig mot .NET 8 och senare kommer som standard att använda en mindre, portabel RID-graf. · Problem #36527 · dotnet/docs (github.com). På grund av det här problemet och eftersom .NET 8 inte har släppts officiellt ännu stöder Windows App SDK 1.4 inte officiellt .NET 8. Men om du fortfarande vill rikta in dig på förhandsversionen av .NET 8 med den här versionen av App SDK rekommenderar vi följande steg:
-
Vi rekommenderar att du anger UseRidGraph till true . Du måste också uppdatera egenskapen
<RuntimeIdentifiers>i filen.csprojtill<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>, samt uppdatera varje filPropeties\*pubxmlför att växla frånwin10tillwini egenskapen<RuntimeIdentifier>(till exempel<RuntimeIdentifier>win-x86</RuntimeIdentifier>).
-
Vi rekommenderar att du anger UseRidGraph till true . Du måste också uppdatera egenskapen
- Med Windows App SDK 1.4 bytte målet
GenerateDeploymentManagerCSiMicrosoft.WindowsAppSDK.DeploymentManager.CS.targetsnamn tillGenerateBootstrapCS. -
MenuFlyoutbakgrund använder inte programmets begärda tema:
Felkorrigeringar
- Åtgärdade ett problem där anropet av API:et
Microsoft.Windows.AppLifecycle.AppInstance.Restart("")gjorde att opackade appar kraschade. Mer information finns i GitHub-problem #2792. - Ett kraschproblem med installationsprogrammet som introducerades i 1.4-experimental1 har åtgärdats. Mer information finns i GitHub-problem #3760.
- Åtgärdade ett problem där textgenomstrykning inte togs bort korrekt i en TextBlock. Mer information finns i GitHub-problem #1093.
- Ett problem har åtgärdats som orsakade felaktigt Skift + Tab-navigering i en panel med TabFocusNavigation inställt på "Once". Mer information finns i GitHub-problem #1363.
- Ett problem i C++/WinRT som förhindrade
{x:Bind}att fungera korrekt med en egenskap för en namngiven XAML-kontroll har åtgärdats. Mer information finns i GitHub-problem #2721. - Ett problem med Körningsåtkomstviolation har åtgärdats i WinUI Desktop-appar som orsakas av inställningen
DebugSettings.EnableFrameRateCounter = true. Mer information finns i GitHub-problem #2835. - Ett problem åtgärdades där
XamlTypeInfo.g.cppinte inkluderade nödvändiga rubriker. Mer information finns i GitHub-problem #4907. - Åtgärdade en krasch som orsakades av samtidiga multi-touch- och musingångar. Mer information finns i GitHub-problem #7622.
- Åtgärdade ett problem som hindrade ett aktivt WinUI 3-appfönster från att rulla när systeminställningen för att inaktivera rullning av inaktiva fönster på muspekaren var i kraft. Mer information finns i GitHub-problem #8764.
- Problem med en krasch vid försök att subklassa
MediaPlayerElementhar åtgärdats. - Vissa krasch- och minnesläckageproblem har åtgärdats i
TreeView. - Åtgärdade ett problem där applikationen kan låsa sig när man använder tangentbordet för att navigera i
RadioButtons. - Åtgärdade en krasch som inträffade när man använde tangentbordet för att navigera i en
PipsPager. - WebView2-innehåll har åtgärdats för att skala med hjälpmedelsinställningen "Textstorlek" i Windows-inställningar.
- Åtgärdade en krasch som kunde inträffa när animeringar kördes när skärmen stängdes av.
- Åtgärdade ett prestandaproblem som introducerades i 1.3 och som lade till en ~10% omkostnad vid den första layouten/renderingen.
Relaterade ämnen
- Senaste versionsinformation för förhandskanalen för Windows App SDK
- Senaste versionsinformation för experimentella kanalen för Windows App SDK
- Installera verktyg för Windows App SDK
- Skapa ditt första WinUI 3-projekt (Windows App SDK)
- Använda Windows App SDK i ett befintligt projekt
- Distributionsöversikt
Windows developer