Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Stabilní kanál poskytuje verze sady Windows App SDK, které jsou podporovány aplikacemi v produkčních prostředích. Aplikace, které používají stabilní verzi sady Windows App SDK, je možné publikovat také do Microsoft Storu.
Důležité odkazy:
- Pokud chcete upgradovat existující aplikaci ze starší verze sady Windows App SDK na novější verzi, přečtěte si téma Aktualizace stávajících projektů na nejnovější verzi sady Windows App SDK.
Nejnovější stabilní verze kanálu:
Stažení sady Windows App SDK
Poznámka:
Rozšíření sady Visual Studio SDK pro Windows App SDK (VSIX) již nejsou k dispozici jako samostatný soubor ke stažení. Jsou k dispozici ve Visual Studio Marketplace ve Visual Studio.
Verze 1.4.7 (1.4.240802001)
Toto je servisní verze sady Windows App SDK, která obsahuje kritické opravy chyb pro vydání verze 1.4.
- Opravili jsme problém, kdy
ItemsRepeaternegenerovalo dostatečné množství položek vShouldConstrainToRootBounds="false"místním okně, které bylo vyšší nebo širší než hlavní okno. - Opravili jsme potenciální chybové ukončení při vypnutí, pokud aktualizace popisku
AnnotatedScrollBarčeká na vyřízení.
Verze 1.4.6 (1.4.240512000)
Toto je servisní verze sady Windows App SDK, která obsahuje kritické opravy chyb pro vydání verze 1.4.
- Opravili jsme potenciální chybové ukončení při zpracování vstupu.
- Opravili jsme problém, kdy operace přetažení, která byla spuštěna z jiné aplikace, nepovoluje správné operace kopírování, přesunutí nebo propojení.
- Opravili jsme informace o zdrojovém serveru WinUI pro ladění, aby správně ukazovaly na úložiště GitHub microsoft-ui-xaml.
- Byl opraven problém s opravou pro GitHub č. 8857, aby knihovna
resources.pribyla správně sloučena s aplikacíresources.pri.
Verze 1.4.5 (1.4.240211001)
Toto je servisní verze sady Windows App SDK, která obsahuje kritické opravy chyb pro vydání verze 1.4.
- Opravili jsme problém, který mohl způsobit zaseknutí aplikací při kliknutí myší během scrollování kolečkem myši. Další informace viz GitHub issue #9233.
- Opravili jsme problém s duplikovanými soubory při odkazování na řetězec balíčků NuGet. Další informace najdete v tématu Problém na GitHubu č. 8857.
- Opravili jsme několik
BreadcrumbBarproblémů, včetně úniku paměti, pádu aplikace, když je nabídka se třemi tečkami prázdná, a nesprávného omezení nabídky se třemi tečkami uvnitř okna. - Opravili jsme potenciální pád systému při vypnutí uvolněním grafických prostředků.
Verze 1.4.4 (1.4.231219000)
Toto je servisní verze sady Windows App SDK, která obsahuje kritické opravy chyb pro vydání verze 1.4.
- Opravili jsme problém se zabezpečením diagnostiky WinUI 3.
- Opravili jsme problém se zadáváním, kdy se při aktivaci dotykem nezobrazovala klávesnice na obrazovce. Další informace najdete v tématu Problém s GitHubem č. 8946.
- Opravili jsme problém, který způsoboval
Microsoft.UI.Xaml.Controls.dllneočekávané zvětšení velikosti souboru. -
CommandBarFlyoutOpravili jsme problém, který mohl způsobit chybové ukončení při nastavování fokusu. - Aktualizace podpory Windows App SDK pro zpracování prostředků specifických pro RID v .NET 8
- Byl vyřešen problém, který způsoboval nesprávné umístění nebo roztažení některých swapchainů.
Verze 1.4.3 (1.4.231115000)
Toto je servisní verze sady Windows App SDK, která obsahuje kritické opravy chyb pro vydání verze 1.4.
- Opravili jsme problém, kdy se nabídka po krátkou dobu zobrazovala bez pozadí.
- Opravili jsme chybu, ke které mohlo dojít v konkrétních scénářích s více monitory.
- Opravili jsme problém, kdy se místní nabídka zobrazovala mimo obrazovku.
- Opravili jsme problém se styly oken a maximalizací chování. Další informace najdete v GitHubu, případ č. 8996.
- Opravili jsme problém s funkcí Islands, kdy mohl být fokus neočekávaně přebrán z jiného ovládacího prvku.
- Opravili jsme problém s pořadím ovládacích prvků.
NavigationView - Opravili jsme problém s vykreslováním, kdy se v horní části záhlaví mohl zobrazovat bílý pruh. Další informace najdete v GitHub issue č. 8947.
- Různé opravy výkonu
Verze 1.4.2 (1.4.231008000)
Toto je servisní verze sady Windows App SDK, která obsahuje kritické opravy chyb pro vydání verze 1.4.
- Opravili jsme problém s pádem programu v explorer.exe, který byl způsoben nadměrným přidělením paměti a objektů.
- Opravili jsme problém s interakcí záhlaví, který bránil správnému fungování tlačítka Zpět.
- Opravili jsme problém, který způsoboval varování při vícenásobném zařazení zdrojového souboru.
- Opravili jsme problém, který ovlivnil výkon místní nabídky.
- Vyřešen problém s .lnk zástupcem, který způsoboval, že cíl .exe vždy odkazoval na stejné umístění pro balíčky ve složce WindowsApps.
- Opravili jsme problém s DWriteCore, který ovlivnil správné vykreslení indikovaných textů v určitých písmech.
- Opravili jsme problém v zobrazení seznamu, který bránil správné navigaci pomocí klávesnice do a z vnořených vybraných položek pomocí kláves Tab/Shift+ Tab.
- Opravili jsme problém, který po druhém rozbalení pole ComboBox přerušil dotykové posouvání položek ComboBoxu. Další informace najdete v tématu Problém s GitHubem č. 8831.
- Opravili jsme problém, kdy balíčky sady Windows App SDK neobsáhly lokalizované prostředky WinUI pro některé jazyky.
- Opravili jsme nekonzistence mezi tím, jak Průzkumník souborů a XAML zobrazovaly preferovaný jazyk uživatele.
- Opravili jsme problém s designem v Průzkumníku souborů, který způsoboval, že se na aktivní kartě zobrazovala tenká čára.
- Opravili jsme problém, kdy některé akcelerátory klávesnice poskytované architekturou nebyly správně lokalizovány. Další informace najdete v tématu Problém s GitHubem č. 2023.
- Opravili jsme problém s ovládacími prvky RepeatButton, které se opakovaně posouvaly při klepnutí.
- Opravili jsme instalační .exe soubor sady Windows App SDK, aby měl správné informace o verzi zdroje.
Verze 1.4.1 (1.4.230913002)
Toto je servisní verze sady Windows App SDK, která obsahuje kritické opravy chyb pro vydání verze 1.4.
- Opravili jsme problémy s výkonem, aby se zkrátil čas na první snímek.
- Opravili jsme problém, kdy nabídky nerespektovaly
RequestedTheme. Tento problém mohl například vést k bílému textu na bílém pozadí. Další informace najdete na GitHubu v problému č. 8756. - Opravili jsme problém, který způsoboval, že se akrylové pozadí v některých nabídkách někdy stávalo úplně průhledným.
- Opravili jsme problém, kdy XAML někdy zbytečně překresloval tapetu na ploše systému Windows.
- Byla opravena podpora pro
TabNavigation = LocalaTabNavigation = CycleproListViewaGridView, která teď umožňuje navigaci mezi záhlavími a položkami pomocí tabulátoru kromě kláves se šipkami. - Opravili jsme některé hlučné výjimky při zavření popisu. Další informace najdete na GitHubu případu č. 8699.
Nové a aktualizované funkce a známé problémy pro verzi 1.4
Následující části popisují nové a aktualizované funkce a známé problémy pro verzi 1.4.
V existující aplikaci Windows App SDK 1.3 můžete balíček NuGet aktualizovat na verzi 1.4.230822000 (viz část Aktualizace balíčku v části Instalace a správa balíčků v sadě Visual Studio pomocí Správce balíčků NuGet).
Aktualizovanou verzi runtime a MSIX najdete v tématu Nejnovější soubory ke stažení sady Windows App SDK.
Sloučení vlastního titulkového panelu a titulkového panelu AppWindow
Vlastní záhlaví WinUI 3 používá implementaci záhlaví AppWindow spolu s rozhraními API NonClientInputPointerSource v sadě Windows App SDK 1.4. V důsledku toho se obě implementace nadpisů nyní chovají stejným způsobem se stejnými funkcemi a omezeními. To je plně zpětně kompatibilní ve všech podporovaných případech – každá aplikace s vlastním definovaným záhlavím se bude chovat jako předtím. Pro vývojáře WinUI 3, kteří mohou být nováčky ve vlastních titulních lištách, je nyní snazší je pochopit a používat díky využití těchto nových funkcí:
- Lepší výchozí scénář, ve kterém vývojář nedefinuje speciálně element titlebar (nahrazení náhradního záhlaví z WinUI 2)
- Jedinečné oblasti přetažení v záhlaví, které umožňují vytvořit více oblastí přetažení a umístit ovládací prvky kliknutelné na libovolnou část oblasti bez klienta (oblast záhlaví)
- Přetahované oblasti pro celou aplikaci, které je možné umístit kamkoli do aplikace nebo nastavit, aby byla celá aplikace přetahovaná
- Lepší podpora témat, která nahrazuje témata založená na prostředcích
- Vzhledem k tomu, že oblasti přetažení jsou průhledné, vždy se řídí motivem aplikace.
- Další přizpůsobení: skryjte tlačítka minimalizace, maximalizace a zavření; umístěte systémové ikony do záhlaví; nebo nechte různé oblasti fungovat jako tlačítka popisku, která přijímají odpovědi NCHITTEST
- Větší volnost pro vývojáře, která umožňuje kombinovat a shodovat s rozhraními API nadpisů AppWindow, jako je použití rozhraní API WinUI 3 vyšší úrovně pro většinu scénářů, ale s rozhraními APPWindow API smíšenými pro řízení nižší úrovně
Aktualizace widgetů
Byla přidána tři nová rozhraní, která mají poskytovatelé widgetů implementovat: IWidgetProvider2, IWidgetProviderAnalytics a IWidgetProviderErrors.
IWidgetProvider2 umožňuje poskytovatelům reagovat na akci Přizpůsobit vyvolanou uživatelem, která je identická s tím, co je k dispozici pro widgety první strany. Tato rozhraní IWidgetProviderAnalytics a IWidgetProviderErrors používají poskytovatelé ke shromažďování telemetrie pro své widgety; analytické a selhané události týkající se widgetů jsou komunikovány příslušným poskytovatelům těchto widgetů. Třídy WidgetCustomizationRequestedArgsa , WidgetAnalyticsInfoReportedArgsWidgetErrorInfoReportedArgs jsou používány ke sdělení relevantních informací pro podporu nových funkcí.
Ostrovy XAML už nejsou experimentální
Ostrovy XAML a základní platforma ContentIslands už nejsou experimentální.
- V současné době jsou ostrovy XAML testovány pouze pro použití v aplikacích C++. Tato verze neobsahuje žádné vhodné obálkové prvky pro použití ve WPF nebo WinForms.
-
DesktopWindowXamlSourcea související typy byly přidány do oboru názvů Microsoft.UI.Xaml.Hosting pro XAML Islands.XamlRoot.ContentIslandEnvironmentbyla přidána pro usnadnění přístupu k podkladovým informacím o ostrově pro prvek. - Mnoho nových typů bylo představeno v oboru názvů Microsoft.UI.Content a Microsoft.UI.Input jako základní podpora pro ostrovy XAML nebo pro použití funkce ContentIslands bez XAML.
- Do oboru názvů Microsoft.UI.Input.DragDrop pro scénáře "Island" byl přidán nový prvek
DragDropManagervčetně souvisejících typů.
Zobrazení položek
Představujeme nový ovládací prvek seznamu označovaný jako ItemsView a odpovídající konkrétní ItemContainer třídu.
ItemContainer je lehký kontejner s integrovanými stavy výběru a vizuály, který může snadno obklopit požadovaný obsah a být použitý s ItemsView ve scénáři řízení kolekce.
- Nový
ItemsViewovládací prvek zobrazí kolekci dat.ItemsViewje podobný ovládacím prvkůmListViewaGridView, ale je sestaven pomocí komponentůItemsRepeater,ScrollView,ItemContaineraItemCollectionTransitionProvider. Nabízí jedinečnou možnost zapojit vlastníLayoutneboItemCollectionTransitionProviderimplementace. Další klíčovou výhodou je možnost přepínat rozložení za běhu při zachování výběru položek. VnitřníScrollViewovládací prvek také nabízí funkce, které nejsou k dispozici vListView/GridViewScrollViewerovládacím prvku, jako je schopnost ovládat animaci během programových posouvání.- Nová
ItemTransitionProvidervlastnost uItemsRepeater(a novéhoItemsViewovládacího prvku) umožňuje určitItemCollectionTransitionProviderobjekt pro řízení přechodových animací na daném ovládacím prvku. Byla také přidána metodaCreateDefaultItemTransitionProviderdoLayout, která umožňuje objektu rozložení poskytnout náhradní přechod, pokud jej explicitně nezadáte v ovládacím prvkuItemsView. - Nová
IndexBasedLayoutOrientationvlastnost, veLayoutkteré je orientace rozložení (pokud existuje) položek založená na jejich indexu ve zdrojové kolekci. Výchozí hodnota jeIndexBasedLayoutOrientation.None. Vlastní rozložení nastavují tuto vlastnost voláním nové (chráněné)SetIndexBasedLayoutOrientationmetody. - Nová vlastnost
VisibleRectzíská viditelný obdélník oblasti zobrazení v rámciVirtualizingLayoutContext, který je spojený sFrameworkElement. Chráněnou virtuálníVirtualizingLayoutContext.VisibleRectCoremetodu lze přepsat, aby určila hodnotu, která bude vrácena z vlastnostiVisibleRect.
- Nová
- Nová
LinedFlowLayouttřída se obvykle používá k uspořádání položek kolekceItemsViewovládacího prvku. Je zvlášť užitečné pro zobrazení kolekce obrázků. Dělá to tak, že je rozmístí zleva doprava a odshora dolů v řádcích stejné výšky. Obrázky zaplní vodorovnou řadu a pak se zalomí na další řádek. Obrázky se můžou oříznout na levý a pravý okraj, aby se vešly do čáry. Mohou být také rozšířeny vodorovně a oříznuty v horní a dolní hraně, aby vyplnily čáru, když je použit režim roztažení.
Nové funkce ze sady Windows App SDK
- Nová třída
ThemeSettings, která umožňuje aplikacím Win32 WinRT zjistit, kdy se změnilo nastavení vysokého kontrastu systému, podobně jako třída AccessibilitySettings u UWP. Další informace najdete ve specifikaci rozhraní API ThemeSettings na GitHubu. -
AccessKeyManager.EnterDisplayModeje nová metoda zobrazení přístupových klíčů pro aktuální prioritní prvek zadaného kořenového adresáře. Přístupové klávesy jsou v režimu zobrazení při zobrazení popisku klávesy pro vyvolání příkazu, například stisknutí klávesy Alt v Malování, aby se zobrazily klávesy odpovídající ovládacím prvkům. Tato metoda umožňuje programově zadávat režim zobrazení. -
Application.ResourceManagerRequestedposkytuje mechanismus, který umožňuje jinýIResourceManagerk řešení URI prostředků pro scénáře, kdy výchozíResourceManagernebude fungovat. Další informace najdete ve specifikaci rozhraní API Application.ResourceManagerRequested na GitHubu. - Verze sady WebView2 SDK byla aktualizována z verze 1661.34 na 1823.32.
-
Popup/FlyoutBase.IsConstrainedToRootBounds = falseje nyní podporováno, což umožňuje, aby vyskakovací okno nebo flyout přesáhly hranice nadřazeného okna. KSystemBackdroptěmto typům byla přidána vlastnost, která podporuje akrylový design v těchto neomezených vyskakovacích oknech. Nabídky ve výchozím nastavení používají akryl. -
Closed,FrameworkClosedaIsClosedbyly přidány doDesktopAcrylicControlleraMicaControllerke zlepšení zpracování během vypnutí objektu nebo vlákna. -
DesktopAcrylicController.Kindlze nyní nastavit pro výběr standardních akrylových vzhledů. -
DispatcherQueuemá několik nových událostí a pomocných rutin, které usnadňují lépe organizované vypnutí a umožňují aplikacím používajícím Islands snadno spustit standardní podporovanou smyčku událostí. -
InputNonClientPointerSourcev oboru názvů Microsoft.UI.Input lze použít pro vlastní scénáře nadpisů k definování oblastí mimo klient. Kód může být zaregistrován pro odpovídající události, jako je najetí myší a kliknutí, v těchto oblastech. -
AppWindowmá některé nové pomocníky, které vám pomohou se spojit a přidružit sDispatcherQueue. - Nová
TreeView.SelectionChangedudálost umožňuje vývojářům reagovat, když uživatel nebo kód za ním změní sadu vybraných uzlů v ovládacímTreeViewprvku. - Nový
ScrollViewovládací prvek představuje alternativu kScrollViewer. Tento nový ovládací prvek je vysoce sladěn v chování a rozhraní API s existujícímScrollViewerovládacím prvkem, ale je založen naInteractionTracker, má nové funkce, jako jsou změny zobrazení řízené animacemi, a je také navržen k zajištění plné funkčnostiItemsRepeater. Podívejte se na flexibilnější ScrollViewer · Problém č. 108 · microsoft/microsoft-ui-xaml (github.com) pro další podrobnosti. Různé nové typy, včetněScrollPresenter, jsou součástí celkovéhoScrollViewmodelu. - Nový
AnnotatedScrollBarovládací prvek rozšiřuje funkce běžného posuvníku tím, že poskytuje snadný způsob, jak procházet velkou kolekci položek. Toho lze dosáhnout pomocí klikatelné kolejnice s popisky, které fungují jako značky. Umožňuje také podrobnější pochopení posuvného obsahu zobrazením popisku při najetí myší na interaktivní lištu.
Známé problémy
- Při použití
ExtendsContentIntoTitleBar = truese kliknutím v levém horním rohu okna ve výchozím nastavení vždy zobrazí nabídka systémového okna (Minimalizovat/Zavřít/atd.) místo toho, aby ukazatel prošel obsahem okna. To například znamená, že tlačítko Zpět v této oblasti záhlaví nebude fungovat. Alternativním řešením tohoto problému je nastaveníAppWindow.TitleBar.IconShowOptions = Microsoft.UI.Windowing.IconShowOptions.HideIconAndSystemMenuv AppWindow okna. - Existují některé nové pokračovatelné výjimky při skrývání vyskakovacích nebo vysouvacích
ShouldConstrainToRootBounds="False"oken. To zahrnuje skrývání bublinových nápověd, jak je uvedeno zde: Zavření bublinové nápovědy vyvolá 4 nativní výjimky · Problém č. 8699 · microsoft/microsoft-ui-xaml (github.com) - Ve verzi 1,4 jsou teď tlačítka
ExtendsContentIntoTitleBar = truetitulků min/max/close nakreslená aplikací AppWindow místo XAML. Jedná se o záměrné chování, ale to může ovlivnit aplikace, které přepisovaly vnitřní styly XAML, aby skrývaly nebo prováděly další přizpůsobení těchto tlačítek, například v této zprávě: Nelze skrýt tlačítko popisku na titulním pruhu · Problém č. 8705 · microsoft/microsoft-ui-xaml (github.com) - V .NET 8 došlo k zásadní změně způsobu, jakým zpracovává graf identifikátorů modulu runtime: [Zásadní změna]: Projekty, které cílí na .NET 8 a vyšší, ve výchozím nastavení používají menší přenosný graf RID. · Problém č. 36527 · dotnet/docs (github.com). Kvůli tomuto problému a protože rozhraní .NET 8 ještě oficiálně vydáno není, sada Windows App SDK 1.4 oficiálně nepodporuje .NET 8. Pokud byste ale přesto chtěli cílit na předběžnou verzi .NET 8 s touto verzí sady App SDK, doporučujeme následující kroky:
-
Doporučujeme nastavit UseRidGraph na true . Budete také muset aktualizovat vlastnost
<RuntimeIdentifiers>v souboru.csprojna<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>a také aktualizovat každý souborPropeties\*pubxmltak, aby se vlastnostwin10přepnula zwinna<RuntimeIdentifier>(například<RuntimeIdentifier>win-x86</RuntimeIdentifier>).
-
Doporučujeme nastavit UseRidGraph na true . Budete také muset aktualizovat vlastnost
- U verze Windows App SDK 1.4 byl cíl
GenerateDeploymentManagerCSvMicrosoft.WindowsAppSDK.DeploymentManager.CS.targetspřejmenován naGenerateBootstrapCS. -
MenuFlyoutpozadí nepoužívá požadovaný motiv aplikace:
Opravy chyb
- Opravili jsme problém, kdy volání
Microsoft.Windows.AppLifecycle.AppInstance.Restart("")rozhraní API způsobilo chybové ukončení rozbalených aplikací. Pro další informace, podívejte se na GitHub issue č. 2792. - Opravili jsme problém s chybovým ukončením instalačního programu, který byl zaveden v 1.4-experimentální1. Další informace najdete na stránce GitHub issue č. 3760.
- Opravili jsme problém, kdy nebylo v elementu TextBlock správně odebráno přeškrtnutí textu. Další informace najdete v tématu Problém s GitHubem č. 1093.
- Opravili jsme problém, který způsoboval nesprávnou navigaci pomocí kláves Shift + Tab v panelu se TabFocusNavigation nastaveným na "Jednou". Další informace najdete, podívejte se na GitHub issue #1363.
- Opravili jsme problém v jazyce C++/WinRT, který bránil
{x:Bind}správnému fungování s vlastností pojmenovaného ovládacího prvku XAML. Další informace naleznete v GitHub issue č. 2721. - Opravili jsme problém s modulem runtime AccessViolation v desktopových aplikacích WinUI způsobený nastavením
DebugSettings.EnableFrameRateCounter = true. Další informace najdete na GitHubu v rámci issue č. 2835. - Opravili jsme problém, kdy
XamlTypeInfo.g.cppnebyly zahrnuty potřebné hlavičky. Další informace najdete v problému GitHub č. 4907. - Opravili jsme problém s pádem, který způsoboval současný vstup vícedotykového ovládání a myši. Další informace viz GitHub problém č. 7622.
- Opravili jsme problém, který bránil posouvání aktivního okna aplikace WinUI 3, když se nastavení systému pro zakázání posouvání neaktivních oken při najetí myší projevilo. Další informace najdete v problému GitHub č. 8764.
- Opravili jsme chybu při pokusu o vytvoření podtřídy
MediaPlayerElement. - Opravili jsme některé problémy s pádem programu a únikem paměti v
TreeView. - Opravili jsme problém se zablokováním aplikace, ke kterému mohlo dojít při navigaci pomocí klávesnice v
RadioButtons. - Opravili jsme chybové ukončení při použití klávesnice k navigaci v aplikaci
PipsPager. - Obsah v WebView2 byl upraven tak, aby se přizpůsobil nastavení přístupnosti „Velikost textu“ v Nastavení Windows.
- Opravili jsme pád, ke kterému mohlo dojít, když běžely animace a displej byl vypnutý.
- Opravili jsme problém s výkonem zavedený ve verzi 1.3, který způsobil přibližně 10% režijních nákladů při prvním rozložení/vykreslení.
Související témata
Windows developer