Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können je nach Entwicklungsbedarf zwischen den Kanälen Stable, Preview und Experimental wählen – von zuverlässigen Produktionsbuilds bis hin zum frühen Zugriff auf bevorstehende Features. Erfahren Sie mehr über Veröffentlichungskanäle.
Die aktualisierte Laufzeit und MSIX finden Sie unter Downloads für das Windows App SDK.
Version 1.6.9 (1.6.250602001)
Fehlerbehebungen
- Ein potenzieller Absturz in WindowChrome::SetTitleBar beim Schließen eines Fensters wurde behoben. Weitere Informationen finden Sie unter GitHub-Problem #9203.
Version 1.6.8 (1.6.250430001)
Unterstützung für die Erstellung von ApplicationData.MachinePath-Ordnern
ApplicationData.MachineFolder ist nun einfacher zu verwenden unter Windows >=10.0.26100.0 (Ge). Windows erstellt den Ordner "Computer ", wenn eine Unterstützung für die Paketmanifestierung zu einem System hinzugefügt wird, wenn windows App SDK 1.6.8 auf dem System vorhanden ist. Weitere Informationen finden Sie in der ApplicationData-Spezifikation.
Fehlerbehebungen
- Die Telemetrie des PackageDeploymentManager wurde korrigiert, um ordnungsgemäß zu erfassen, wann der Abschlussstatus eintritt. Weitere Informationen finden Sie unter GitHub-Problem #5297.
- Ein Absturz beim Verwenden der Stifteingabe in einer x86-App wurde behoben.
- Ein potenzieller Absturz wurde behoben, wenn das Fenster bereits geschlossen ist, wenn WinUI versucht, um das Scrollen zu initialisieren.
- Die Definition WINDOWSAPPSDK_RELEASE_PATCH und die Microsoft::WindowsAppSDK::Release::Patch-Werte in WindowsAppSDK-VersionInfo.h wurden so korrigiert, dass sie nicht immer 0 sind. Die Definition ist jetzt das Ymmdd-Datum des Builds, und der Patch-Wert ist das mmdd-Datum. Diese Änderung bietet bessere Laufzeitinformationen zu der verwendeten Version, ohne variable Größen oder das Versionsschema zu ändern.
Version 1.6.7 (1.6.250402001)
Fehlerbehebungen
- Verbesserte Telemetrie für Fehlerszenarien in
WindowsAppRuntimeInstall-<arch>.exe. Weitere Informationen finden Sie unter GitHub-Problem #5291. - Es wurde ein Problem behoben, bei dem die Zeigereingabe bei gleichzeitiger Verwendung von Pfeiltasten nicht mehr funktionierte. Weitere Informationen finden Sie unter GitHub-Problem #10126.
- Es wurde ein Problem behoben, bei dem Apps in Remotedesktop nicht mehr auf Zeigereingaben reagieren. Weitere Informationen finden Sie unter GitHub-Problem #10009. (Dies ist der gleiche Fix wie die Zeigereingabe und Pfeiltasten-Korrektur, da der Remote-Desktop während des Wechselns und zurück automatisch einige Tasteneingaben sendet.)
- Es wurde ein potenzieller Absturz behoben, der auftritt, wenn versucht wird, den Fokus wiederherzustellen, während ein Fensteraktivierungsereignis für ein zu schließendes Fenster übermittelt wird.
- Es wurde ein Leistungsabfall behoben, der in Windows App SDK 1.6 eingeführt wurde, da bei den WinUI-Binärdateien einige Linker-Optimierungen fehlten.
- Ein kleines Leistungsproblem beim Erstellen mehrerer WinUI-Fenster/Inseln wurde behoben.
- Es wurde ein potenzieller Absturz behoben, wenn
ProgressBar::SetProgressBarIndicatorWidthbei einer ProgressBar aufgerufen wird, die sich nicht im Baum befindet. - Es wurde ein Problem behoben, bei dem es zu einem Absturz kommen konnte, wenn
CPopup::EnsureBridgeClosedmanchmal eine Eintrittsvarianz auslöste. - Behoben wurde ein potenzieller Absturz beim Schließen eines Popups aufgrund einer null-Wert Kinder-Sammlung.
- Es wurde
PackageDeploymentManager.EnsurePackage*Readybehoben, um die Versionsablösung sicherzustellen. Weitere Informationen finden Sie unter GitHub-Problem Nr. 5225.
Version 1.6.6 (1.6.250228001)
Fehlerbehebungen
Dies ist eine Wartungsversion des Windows App SDK, die wichtige Fehlerbehebungen für die Version 1.6 enthält.- Es wurde ein Problem behoben, bei dem ein untergeordnetes Fenster, das WM_NCMOUSELEAVE an das übergeordnete Fenster sendet, zu einer Schleife führte, die neue Mauseingaben blockierte.
- Ein Absturz wurde behoben, der beim nächsten "AppWindow.Changed"-Ereignis nach einem Fehler im WebView2-Prozess auftreten würde.
- Es wurde ein potenzieller Absturz behoben, der beim Verwenden eines Barrierefreiheitstools auftreten konnte, wenn ein Fenster geschlossen wurde.
- Es wurde ein Problem behoben, bei dem ein Textfeld keine Tasteneingabe akzeptierte, wenn das Textfeld durch Klicken auf den Bereich der Löschen-Schaltfläche fokussiert wurde. Weitere Informationen finden Sie unter GitHub-Problem #7703.
- Es wurde ein Problem behoben, bei dem bei Verwendung von
ExtendsContentIntoTitleBar=trueein Tooltip für die Schaltfläche "Minimieren" in der Titelleiste nicht angezeigt wird. Weitere Informationen finden Sie unter GitHub-Problem #9149.
Diese Version enthält die folgenden neuen APIs:
Eine neue IsPlaceholderContent Eigenschaft für WidgetInfo und WidgetUpdateRequestOptions ermöglicht es einem Widget-Anbieter anzugeben, dass platzhalterinhalte angezeigt werden, wenn sie gerendert werden. Beispielsweise sollte ein Widget, das Wetterinformationen anzeigt, IsPlaceholderContent auf "true" festlegen, wenn der Benutzer noch keinen Wetterort angegeben hat und das Widget lediglich Wetterinformationen für einen Standardstandort wie Seattle anzeigt. Wenn ein Widget als Platzhalter gekennzeichnet ist, können bestimmte Hosts entscheiden, das Widget auszublenden oder andere Widgets zu priorisieren.
Microsoft.Windows.Widgets.Providers
WidgetInfo
IsPlaceholderContent
WidgetUpdateRequestOptions
IsPlaceholderContent
Version 1.6.5 (1.6.250205002)
Fehlerbehebungen
– Es wurden mehrere Speicherleckprobleme behoben.Version 1.6.4 (1.6.250108002)
Fehlerbehebungen
– Ein Problem mit textauswahlmarkierung in einem mehrzeiligen TextBox-Objekt wurde behoben. Weitere Informationen finden Sie unter GitHub-Problem [#9965](https://github.com/microsoft/microsoft-ui-xaml/issues/9965). – Ein Problem wurde behoben, bei dem das DDLM-Paket manchmal nicht installiert wurde und das Starten von entpackten Apps verhinderte. Weitere Informationen finden Sie unter GitHub-Problem [#3855](https://github.com/microsoft/WindowsAppSDK/issues/3855). – Ein potenzieller Absturz in Detours wurde in einigen Szenarien behoben. Weitere Informationen finden Sie unter GitHub-Problem [#4937](https://github.com/microsoft/WindowsAppSDK/pull/4937). – Ein weiteres potenzielles Problem wurde behoben, bei dem ein Menü von einer CommandBar möglicherweise falsch geöffnet wird, anstatt nach unten, wenn sich die CommandBar am unteren Rand des Fensters befindet. – Ein potenzieller Absturz wurde behoben, wenn die Anwendung auf älteren Grafikkarten ausgeführt wird. – Ein potenzieller Absturz bei der Verarbeitung von Zeigerereignissen beim Schließen eines Fensters wurde behoben. - Ein potenzieller Absturz wurde behoben, der durch "CUIAWindow::InitIds" verursacht wurde und manchmal eine Reentranz auslöste. – Ein potenzieller Absturz beim Verwenden des Ereignisses "CompositionCapabilities.Changed" wurde behoben. – Ein Problem mit einigen Unicode-Zeichen, die als Quadrate in TextBox/RichEditBox angezeigt werden, wurde behoben. - Die Behandlung von `PackageDeploymentManager.EnsurePackage*Async()` im Zusammenhang mit `options.RegisterNewerIfAvailable` wurde verbessert. Weitere Informationen finden Sie unter GitHub-Problem [#4864](https://github.com/microsoft/WindowsAppSDK/issues/4864).Version 1.6.3 (1.6.241114003)
Fehlerbehebungen
Dies ist eine Wartungsversion des Windows App SDK, die wichtige Fehlerbehebungen für die Version 1.6 enthält. – Ein Problem wurde behoben, bei dem beim Lesen der Eigenschaft "AppWindow.ExtendsContentIntoTitleBar" das rendern von benutzerdefinierten Titelleisten aktiviert wurde. Weitere Informationen finden Sie unter GitHub-Problem [#9988](https://github.com/microsoft/microsoft-ui-xaml/issues/9988). - Ein potenzieller Absturz während der Zerstörung eines `TextBox`/`RichEditBox` wurde behoben. Weitere Informationen finden Sie unter GitHub-Problem [#9070](https://github.com/microsoft/microsoft-ui-xaml/issues/9070). – Ein Problem wurde behoben, bei dem 'PackageDeploymentManager.IsPackageReadyOrNewerAvailable()' fehlgeschlagen ist. Weitere Informationen finden Sie unter GitHub-Problem [#4817](https://github.com/microsoft/WindowsAppSDK/issues/4817). – Ein Problem wurde behoben, bei dem "ScrollViewer" auslaufen würde. – Es wurde eine Erkennung für ein seltenes Szenario hinzugefügt, in dem das Rendern der App beendet und nie wiederhergestellt wird. – Ein Problem wurde behoben, bei dem 'PackageDeploymentManager.RegisterPackageSetAsync()' URI erfordert, wenn es optional sein sollte, die Registrierung durch PackageFamilyName durchzuführen. – Ein Problem wurde behoben, durch das verhindert wurde, dass Apps installiert oder deinstalliert werden. Weitere Informationen finden Sie unter GitHub-Problem [#4881](https://github.com/microsoft/WindowsAppSDK/issues/4881).Diese Version enthält die folgenden neuen APIs, mit denen Anbieter von Widgets Webinhalte in ihre Widgets integrieren können:
Microsoft.Windows.Widgets.Providers
IWidgetManager2
IWidgetProviderMessage
IWidgetResourceProvider
WidgetManager
SendMessageToContent
WidgetMessageReceivedArgs
WidgetResourceRequest
WidgetResourceRequestedArgs
WidgetResourceResponse
Version 1.6.1 (1.6.240923002)
Bugfixes
- Ein Problem, das zu Abstürzen bei Verwendung von FocusVisualKind.Reveal() führte, wurde behoben. Weitere Informationen finden Sie im GitHub-Issue #9966.
- Es wurden störende C++-Ausnahmen von Bcp47Langs.dll behoben. Weitere Informationen finden Sie im GitHub-Issue #4691. Beachten Sie, dass dieser Fix die Synchronisierung mit
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverrideentfernt.- Ein Problem wurde behoben, bei dem ein zusätzliches
Unloaded-Ereignis unmittelbar nach dem Anzeigen einesContentDialogausgelöst wurde. Weitere Informationen finden Sie im GitHub-Issue #8402.- Es wurde ein Problem behoben, bei dem ein CommandBar-Menü möglicherweise falsch geöffnet wurde, obwohl unten genug Platz zum Öffnen vorhanden war.
- Es wurden einige Probleme behoben, bei denen Eingaben in den
InputNonClientPointerSource-Regionen nicht ordnungsgemäß behandelt wurden, wenn das Fenster der obersten Ebene im Rechts-nach-Links-Modus ausgeführt wurde.- Die Kompilierungszeitprüfung für die Windows SDK-Framework-Version wurde so angepasst, dass sie den leicht abweichenden Framework-Namen für .NET 9 verarbeiten kann.
Version 1.6
C++-Projektänderungen
Beim Aktualisieren eines C++-Projekts auf 1.6 müssen Sie dem
Microsoft.Web.WebView2-Paket einen Projektverweis hinzufügen. Wenn Sie über NuGet-Paket-Manager in Visual Studio aktualisieren, wird diese Abhängigkeit für Sie hinzugefügt.
C#-Projektänderungen
In 1.6 erfordern die verwalteten Apps von Windows-App-SDK Microsoft.Windows.SDK.NET.Ref
*.*.*.38oder höher, was über WindowsSdkPackageVersion in Ihrercsproj-Datei angegeben werden können. Beispiel:<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> ...Darüber hinaus sollten verwaltete Windows-App-SDK-Apps auf Microsoft.Windows.CsWinRT
2.1.1(oder höher) aktualisiert werden.
Hinweis
Diese manuellen Verweise werden nach der Veröffentlichung des nächsten .NET SDK-Wartungsupdates nicht mehr benötigt.
Native AOT-Unterstützung
![]()
Die .NET
PublishAot-Projekteigenschaft wird jetzt für die systemeigene Ahead-Of-Time-Kompilierung unterstützt. Ausführliche Informationen zu Native AOT finden Sie unter Native AOT-Bereitstellung. Da AOT auf der Trimming-Unterstützung basiert, gilt auch ein Großteil der folgenden Kürzungsanleitungen für AOT.Für
PublishAot-Unterstützung und Trimming-Unterstützung benötigen Sie zusätzlich zu den im vorherigen Abschnitt beschriebenen C#-Projektänderungen auch eine Paketreferenz zu Microsoft.Windows.CsWinRT2.1.1(oder höher), um den Quellgenerator aus diesem Paket zu aktivieren, bis das nächste .NET SDK-Wartungsupdate veröffentlicht wird, bei dem dies nicht mehr erforderlich ist.Weitere Informationen finden Sie im CsWinRT Trimming/AOT-Supportdokument und in den Versionshinweisen zu CsWinRT 2.1.1.
Da das Windows-App-SDK beim Bereitstellen von F5 Veröffentlichungsziele aufruft, empfehlen wir,
PublishAotzur NuGet-Wiederherstellungszeit zu aktiviere , indem SiecsprojIhrer Datei hinzufügen:<PublishAot>true</PublishAot>
Beheben von AOT-Problemen
In dieser Version ist der Entwickler dafür verantwortlich, dass alle Typen ordnungsgemäß gerootet sind, um ein Trimmen (z. B. mit spiegelbasierten
{Binding}-Zielen) zu vermeiden. Spätere Versionen werden sowohl C#/WinRT als auch den XAML-Compiler verbessern, um das Rooting nach Möglichkeit zu automatisieren, Entwickler auf Trimmingrisiken hinzuweisen und Mechanismen zur Behebung bereitzustellen.Partielle Klassen
C#/WinRT umfasst auch
PublishAot-Unterstützung in Version 2.1.1. Um eine Klasse für die AOT-Veröffentlichung mit C#/WinRT zu aktivieren, muss sie zuerst markiertpartialwerden. Dadurch kann der C#/WinRT AOT-Quellanalysator die Klassen für statische Analysen attributieren. Nur Klassen (die Methoden enthalten, die Ziele des Trimmings) erfordern dieses Attribut.Unsicherer Codefehler
Der CsWinRT-Quellgenerator kann Code generieren, der
unsafeverwendet. Wenn Sie während der Kompilierung einen solchen Fehler oder eine Diagnosewarnung angezeigt bekommen (CS0227 für „Unsicherer Code kann nur angezeigt werden, wenn sie mit /unsicher kompiliert wird”), sollten Sie EnableUnsafeBlocks auf „true” festlegen. Weitere Informationen finden Sie im GitHub-Issue CsWinRT #1721.WebView2 noch nicht AOT-kompatibel
Die WebView2-Projektionen in
Microsoft.Web.WebView2-Paketversion 1.0.2651.64 sind noch nicht AOT kompatibel. Dies wird in einer bevorstehenden Version desMicrosoft.Web.WebView2-Pakets behoben, auf die Sie dann in Ihrem Projekt verweisen können.Reflexionsfreie Techniken
Um die AOT-Kompatibilität zu ermöglichen, sollten spiegelbasierte Techniken durch statisch typierte Serialisierung, AppContext.BaseDirectory, typeof() usw. ersetzt werden. Ausführliche Informationen finden Sie in der Einführung zum Trimming von Warnungen.
Rooting-Typen
Bis die vollständigen Unterstützung für
{Binding}implementiert ist, können wie folgt vor dem Trimming bewahrt werden:Da das Projekt
Pdie AssemblyAmit dem TypTim NamespaceNverbraucht, die nur dynamisch referenziert wird (also normalerweise getrimmt wird), kannTbeibehalten werden über:
P.csproj:<ItemGroup> <TrimmerRootDescriptor Include="ILLink.Descriptors.xml" /> </ItemGroup>
ILLink.Descriptors.xml:<?xml version="1.0" encoding="utf-8"?> <linker> <assembly fullname="A"> <type fullname="N.T" preserve="all" /> </assembly> </linker>Vollständige XML-Ausdruckssyntax des Stammdeskriptors finden Sie unter Stammdeskriptoren.
Hinweis
Abhängigkeitspakete, die noch keine AOT-Unterstützung übernommen haben, können Laufzeitprobleme aufweisen.
Entkoppelte WebView2-Versionierung
Das Windows-App-SDK verwendet jetzt das Edge WebView2 SDK als NuGet-Referenz, anstatt eine hartcodierte Version des Edge WebView2 SDK einzubetten. Mit dem neuen Modell können Apps eine neuere Version des
Microsoft.Web.WebView2-Pakets auswählen, anstatt auf die Version beschränkt zu sein, mit der das Windows-App-SDK erstellt wurde. Mit dem neuen Modell können Apps auch auf NuGet-Pakete verweisen, die auch auf das Edge WebView2 SDK verweisen. Weitere Informationen finden Sie im GitHub-Issue #5689.
Neue Paketbereitstellungs-APIs
Die Paketverwaltungs-API hat mehrere Verbesserungen erhalten, darunter Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() und mehrere Fehlerkorrekturen. Weitere Informationen finden Sie unter PackageManagement.md und Pullanforderung #4453 .
Verbesserte TabView-Registerkarte ausreißen
![]()
TabViewunterstützt einen neuenCanTearOutTabs-Modus, der eine erweiterte Benutzeroberfläche zum Ziehen von Registerkarten in ein neues Fenster bietet. Wenn diese neue Option aktiviert ist, ähnelt das Ziehen von Registerkarten in Edge und Chrome sehr dem Ziehen von Registerkarten, bei dem während des Ziehens sofort ein neues Fenster erstellt wird, sodass der Benutzer die Registerkarte an den Rand des Bildschirms ziehen kann, um das Fenster in einer reibungslosen Bewegung zu maximieren oder anzudocken. Diese Implementierung verwendet auch keine Drag-and-Drop-APIs, sodass sie nicht durch Einschränkungen in diesen APIs beeinträchtigt wird. Insbesondere wird das Ausreißen von Registerkarten in Prozessen unterstützt, die als Administrator ausgeführt werden.
Weitere wichtige Änderungen
- Es wurde eine neue
ColorHelper.ToDisplayName()-API hinzugefügt, die diese Lücke von UWP füllt.- Es wurde eine neue
Microsoft.Windows.Globalization.ApplicationLanguages-Klasse hinzugefügt, die insbesondere ein neuesPrimaryLanguageOverride-Feature enthält. Weitere Informationen finden Sie im GitHub-Issue #4523.ItemsWrapGridnicht versiegelt. Dies sollte eine abwärtskompatible Änderung sein.PipsPagerunterstützt einen neuen Modus, in dem er zwischen den ersten und letzten Elementen umbrochen werden kann.
![]()
RatingControlist jetzt besser anpassbar, indem einige hartcodierte Formateigenschaften in Designressourcen verschoben werden. Dadurch können Apps diese Werte überschreiben, um die Darstellung von RatingControl besser anzupassen.![]()
- WinUI 3 hat das alte Modell für Schriftstärke, -dehnung und -stil durch das typografische Modell für die Schriftauswahl ersetzt. Das typografische Modell ist für einige neuere Schriftarten erforderlich, einschließlich Segoe UI Variable und ermöglicht erweiterte Schriftartfunktionen. Einige ältere Schriftarten, die auf dem Modell „Gewicht/Dehnung/Stil” basieren, werden möglicherweise nicht mit dem typografischen Modell gefunden.
Bekannte Probleme
- Wenn der Debugger für alle C++-Ausnahmen festgelegt ist, werden einige laute Ausnahmen beim Start im BCP47-Code (Windows Globalization) abgebrochen. Weitere Informationen finden Sie im GitHub-Issue #4691.
- Komponentenbibliothekspakete, die auf das Windows App SDK 1.6-Paket verweisen, erhalten nicht ordnungsgemäß den Inhalt des webView2-Pakets. Weitere Informationen finden Sie unter WebView2Feedback #4743. Eine Problemumgehung besteht darin, bei Bedarf einen direkten Verweis auf das
Microsoft.Web.WebView2-Paket hinzuzufügen.- Bei Apps, die mit Native AOT kompiliert wurden, kann es nach der Seitennavigation aufgrund einer Race-Condition im GC-Thread der .NET-Laufzeit zu einem Hänger kommen. Weitere Informationen finden Sie unter .NET-Problem #104582.
- In der ersten Version von 1.6.0 gibt ein Problem mit einer unserer Abhängigkeiten, das in einer bevorstehenden Version des .NET SDK behoben wird. Wenn bei der Version Ihrer Microsoft.Windows.SDK.NET-Referenz ein Fehler auftritt, müssen Sie explizit auf die Version des .NET SDK verweisen, die von der Fehlermeldung angegeben wird. Wenn der Fehler beispielsweise besagt, dass Sie Version 10.0.19041.38 benötigen, fügen Sieder Datei
.csprojhinzu:
<WindowsSdkPackageVersion>10.0.19041.38</WindowsSdkPackageVersion>.
Fehlerbehebungen
- Ein Absturz beim Festlegen von
InfoBar.IsOpenin XAML wurde behoben. Weitere Informationen finden Sie im GitHub-Issue #8391.- Es wurde ein Problem behoben, bei dem HTML-Elemente die Zeigererfassung verloren, wenn die Maus außerhalb der
WebView2Grenzen verschoben wurde. Weitere Informationen finden Sie im GitHub-Issue #8677.- Es wurde ein Problem behoben, bei dem das Ziehen und Ablegen in ein Flyout mit
ShouldConstrainToRootBounds=falsenicht funktionierte. Weitere Informationen finden Sie im GitHub-Issue #9276.- Es wurde ein Problem behoben, bei dem
ms-appx://-Verweise nicht funktionierten, wennPublishSingleFileaktiviert ist. Weitere Informationen finden Sie im GitHub-Issue #9468.- Es wurde ein Problem behoben, bei dem Debuggersymbole für einige Binärdateien nicht ordnungsgemäß funktionieren. Weitere Informationen finden Sie im GitHub-Issue #4633.
- Ein potenzieller Absturz beim Erstellen von Unterklassen für
NavigationViewwurde behoben.- Es wurde ein Problem behoben, bei dem Tabellenrahmen in einem
RichEditBoxbeim Scrollen oder Verringern der Tabellengröße nicht ordnungsgemäß gelöscht wurden.- Ein Problem wurde behoben, bei dem Flyouts aus
MediaTransportControlseinen vollständig transparenten Hintergrund hatten.- Es wurde ein Problem behoben, bei dem das Ziehen in eine WebView2 fehlschlug oder der Text an der falschen Stelle abgelegt wurde, wenn andere Anzeigeskalierungsfaktoren als 100 % verwendet wurden oder wenn die Textskalierung des Systems aktiviert war.
- Es wurde ein Problem behoben, bei dem
TextBox/RichEditBoxnicht an die Eingabehilfen gemeldet hat, wenn die Eingabe aufgrund derMaxLengthblockiert wurde.- Einige Probleme beim Umgang mit benutzerdefinierten Titelleistenszenarien wurden behoben. Weitere Informationen finden Sie in den GitHub-Problemen #7629, #9670, #9709 und #8431.
- Es wurde ein Problem behoben, bei dem das
InfoBadge-Symbol nicht sichtbar war. Weitere Informationen finden Sie im GitHub-Issue #8176.- Ein Problem wurde behoben, bei dem Symbole manchmal an der falschen Position in der
CommandBarFlyoutangezeigt wurden. Weitere Informationen finden Sie im GitHub-Issue #9409.- Ein Problem mit dem Tastaturfokus in Menüs beim Öffnen oder Schließen eines Untermenüs wurde behoben. Weitere Informationen finden Sie im GitHub-Issue #9519.
- Ein Problem wurde behoben, bei dem
TreeViewden falschenIsExpanded-Zustand beim Recycling von Elementen verwendet hat. Weitere Informationen finden Sie im GitHub-Issue #9549.- Ein Problem beim Verwenden einer ElementName-Bindung in einer
ItemsRepeater.ItemTemplatewurde behoben. Weitere Informationen finden Sie im GitHub-Issue #9715.- Es wurde ein Problem behoben, bei dem das erste Element in einer
ItemsRepeatermanchmal an einer falschen Position war. Weitere Informationen finden Sie im GitHub-Issue #9743.- Es wurde ein Problem behoben, bei dem
InputNonClientPointerSourcemanchmal die Eingabe über die Schaltflächen „Min/Max/Schließen“ unterbrach. Weitere Informationen finden Sie im GitHub-Issue #9749.- Ein Kompilierungsfehler bei Verwendung von Microsoft.UI.Interop.h mit clang-cl wurde behoben. Weitere Informationen finden Sie im GitHub-Issue #9771.
- Es wurde ein Problem behoben, bei dem das
CharacterReceived-Ereignis inComboBox/TextBoxnicht funktionierte. Weitere Informationen finden Sie im GitHub-Issue #9786.- Es wurde ein Problem behoben, bei dem doppelte
KeyUp-Ereignisse für Pfeil- und Tabulatortasten ausgelöst wurden. Weitere Informationen finden Sie im GitHub-Issue #9399.- Es wurde ein Problem behoben, bei dem das
PowerManager.SystemSuspendStatusChanged-Ereignis nicht zum Abrufen desSystemSuspendStatus-Ereignisses verwendet werden konnte. Weitere Informationen finden Sie im GitHub-Issue #2833.- Es wurde ein Problem behoben, bei dem der anfängliche Tastaturfokus nicht korrekt auf ein
WebView2gelegt wurde, wenn dies das einzige Steuerelement im Fenster war.- Es wurde ein Problem behoben, das bei der Verwendung von
ExtendsContentIntoTitleBar=trueauftrat, bei dem die Schaltflächen „Min/Max/Schließen“ nicht korrekt in der UI-Automatisierung angezeigt wurden, was dazu führte, dass Voice Access keine Zahlen für diese Schaltflächen anzeigte.- Es wurde ein Problem behoben, bei dem eine App aufgrund unerwarteter Eintrittsinvarianz in einer Sperrprüfung abstürzte.
- Es wurde ein Problem behoben, bei dem
Hyperlink-Farben beim Wechseln in ein Design mit hohem Kontrast nicht ordnungsgemäß aktualisiert wurden.- Es wurde ein Problem behoben, bei dem das Ändern der Sammlung einer
ListViewin einem Hintergrundfenster dazu führen konnte, dass dieses Fenster fälschlicherweise in den Vordergrund gerückt wurde und den Fokus erhielt.- Es wurde ein Problem behoben, bei dem das Aufrufen der
ItemsRepeater.StartBringIntoViewmanchmal dazu führte, dass Elemente nicht mehr angezeigt werden.- Es wurde ein Problem behoben, bei dem das Berühren und Ziehen einer
Buttonin einerScrollViewerdiese in einem gedrückten Zustand lassen würde.- IntelliSense wurde mit Informationen für viele neuere Typen und Member aktualisiert.
- Es wurde ein Problem behoben, bei dem durch Klicken in einen leeren Bereich eines
ScrollViewerimmer der Fokus auf das erste fokussierbare Steuerelement imScrollViewerverschoben und in die Ansicht gescrollt wurde. Weitere Informationen finden Sie im GitHub-Issue #597.- Es wurde ein Problem behoben, bei dem das
Window.Activated-Ereignis manchmal mehrmals ausgelöst wurde. Weitere Informationen finden Sie im GitHub-Issue #7343.- Es wurde ein Problem behoben, bei dem das Festlegen der
NavigationViewItem.IsSelected-Eigenschaft auftrueverhinderte, dass die untergeordneten Elemente, wenn erweitert, angezeigt wurden. Weitere Informationen finden Sie im GitHub-Issue #7930.- Es wurde ein Problem behoben, bei dem
MediaPlayerElementBeschriftungen mitNone- oderDropShadow-Randeffekten nicht ordnungsgemäß anzeigte. Weitere Informationen finden Sie im GitHub-Issue #7981.- Es wurde ein Problem behoben, bei dem die
Flyout.ShowMode-Eigenschaft beim Anzeigen des Flyouts nicht verwendet wurde. Weitere Informationen finden Sie im GitHub-Issue #7987.- Es wurde ein Problem behoben, bei dem
NumberBoxmanchmal Rundungsfehler aufwies. Weitere Informationen finden Sie im GitHub-Issue #8780.- Es wurde ein Problem behoben, bei dem die Verwendung einer Bibliothek, die mit einer älteren Version des Windows App SDK kompiliert wurde, einen Fehler beim Versuch, einen Typ oder eine Eigenschaft zu finden, auftritt. Weitere Informationen finden Sie im GitHub-Issue #8810.
- Ein Problem wurde behoben, bei dem der anfängliche Tastaturfokus beim Starten eines Fensters nicht festgelegt wurde. Weitere Informationen finden Sie im GitHub-Issue #8816.
- Es wurde ein Problem behoben, bei dem
FlyoutShowMode.TransientWithDismissOnPointerMoveAwaynach der erstmaligen Anzeige nicht mehr funktionierte. Weitere Informationen finden Sie im GitHub-Issue #8896.- Es wurde ein Problem behoben, bei dem einige Steuerelemente die Eigenschaften
ForegroundundBackgroundnicht ordnungsgemäß an eine Vorlage gebunden haben. Weitere Informationen finden Sie in den GitHub-Problemen #7070, #9020, #9029, #9083 und #9102.- Es wurde ein Problem behoben, bei dem
ThemeResources, die inVisualStateManager-Settern verwendet wurden, bei einem Designwechsel nicht aktualisiert wurden. Dies hatte häufig Auswirkungen auf Steuerelemente in Flyouts. Weitere Informationen finden Sie im GitHub-Issue #9198.- Es wurde ein Problem behoben, bei dem
WebViewden Schlüsselfokus verlor, was zu zusätzlichen Weichzeichner-/Fokusereignissen und anderen Problemen führte. Weitere Informationen finden Sie im GitHub-Issue #9288.- Ein Problem wurde behoben, bei dem
NavigationVieweinen Bindungsfehler in der Debugausgabe anzeigte. Weitere Informationen finden Sie im GitHub-Issue #9384.- Ein Problem wurde behoben, bei dem SVG-Dateien, die ein negatives Viewbox-Element definieren, nicht mehr gerendert wurden. Weitere Informationen finden Sie im GitHub-Issue #9415.
- Es wurde ein Problem behoben, bei dem das Ändern der
ItemsView.Layout-Ausrichtung dazu führte, dass ein Element entfernt wurde. Weitere Informationen finden Sie im GitHub-Issue #9422.- Es wurde ein Problem behoben, bei dem beim Scrollen einer
ScrollVieweine Menge Debugausgabe erzeugt wurde. Weitere Informationen finden Sie im GitHub-Issue #9434.- Es wurde ein Problem behoben, bei dem
MapContorl.InteractiveControlsVisiblenicht ordnungsgemäß funktionierte. Weitere Informationen finden Sie im GitHub-Issue #9486.- Es wurde ein Problem behoben, bei dem das
MapControl.MapElementClick-Ereignis nicht ordnungsgemäß ausgelöst wurde. Weitere Informationen finden Sie im GitHub-Issue #9487.- Es wurde ein Problem behoben, bei dem x:Bind vor der Verwendung eines schwachen Verweises nicht auf NULL überprüft wurde, was zu einem Absturz führen konnte. Weitere Informationen finden Sie im GitHub-Issue #9551.
- Es wurde ein Problem behoben, bei dem das Ändern der
TeachingTip.Target-Eigenschaft ihre Position nicht ordnungsgemäß aktualisierte. Weitere Informationen finden Sie im GitHub-Issue #9553.- Ein Problem wurde behoben, bei dem Dropdowns in WebView2 nicht reagierten. Weitere Informationen finden Sie im GitHub-Issue #9566.
- Ein Speicherverlust bei Verwendung von
GeometryGroupwurde behoben. Weitere Informationen finden Sie im GitHub-Issue #9578.- Es wurde ein Problem behoben, bei dem das Scrollen durch eine sehr große Anzahl von Elementen aus einem
ItemRepeaterin einerScrollViewzu leeren Renderframes führen konnte. Weitere Informationen finden Sie im GitHub-Issue #9643.- Es wurde ein Problem behoben, bei dem
SceneVisualnicht funktionierte.
Neue APIs
Version 1.6.0 enthält gegenüber dem stabilen Release 1.5 die folgenden neuen APIs:
Microsoft.UI ColorHelper ToDisplayNameMicrosoft.UI.Input EnteredMoveSizeEventArgs EnteringMoveSizeEventArgs ExitedMoveSizeEventArgs InputNonClientPointerSource EnteredMoveSize EnteringMoveSize ExitedMoveSize WindowRectChanged WindowRectChanging MoveSizeOperation WindowRectChangedEventArgs WindowRectChangingEventArgsMicrosoft.UI.Xaml XamlRoot CoordinateConverterMicrosoft.UI.Xaml.Automation.Peers ScrollPresenterAutomationPeerMicrosoft.UI.Xaml.Controls PipsPager WrapMode WrapModeProperty PipsPagerWrapMode TabView CanTearOutTabs CanTearOutTabsProperty ExternalTornOutTabsDropped ExternalTornOutTabsDropping TabTearOutRequested TabTearOutWindowRequested TabViewExternalTornOutTabsDroppedEventArgs TabViewExternalTornOutTabsDroppingEventArgs TabViewTabTearOutRequestedEventArgs TabViewTabTearOutWindowRequestedEventArgsMicrosoft.Windows.Globalization ApplicationLanguagesMicrosoft.Windows.Management.Deployment EnsureReadyOptions RegisterNewerIfAvailable PackageDeploymentFeature PackageDeploymentManager IsPackageDeploymentFeatureSupported IsPackageProvisioned IsPackageProvisionedByUri IsPackageReadyOrNewerAvailable IsPackageReadyOrNewerAvailableByUri IsPackageSetProvisioned IsPackageSetReadyOrNewerAvailable PackageReadyOrNewerAvailableStatusMicrosoft.Windows.Storage ApplicationData ApplicationDataContainer ApplicationDataContract ApplicationDataCreateDisposition ApplicationDataLocality
Version 1.6 Preview 2 (1.6.0-preview2)
Dies ist die neueste Version des Vorschaukanals für Version 1.6.
In einer vorhandenen Windows App SDK 1.5 (aus der Stable Channel)-App können Sie Ihr Nuget-Paket auf 1.6.0-preview2 aktualisieren (siehe Abschnitt "Aktualisieren eines Pakets " unter "Installieren und Verwalten von Paketen in Visual Studio mithilfe des NuGet-Paket-Managers").
Die aktualisierte Laufzeit und MSIX finden Sie unter Downloads für das Windows App SDK.
Native AOT-Unterstützung
1.6-preview2 enthält erhebliche Änderungen am Update auf die veröffentlichte Microsoft.Windows.CsWinRT Version 2.1.1 und machen die Erstellung zuverlässiger für native Ahead-Of-Time Kompilierung.
Aktualisierte Edge WebView2 SDK-Integration
Diese Version verweist jetzt auf die veröffentlichte Version 1.0.2651.64 des
Microsoft.Web.WebView2Pakets, die Probleme beheben sollte, die mit der Vorabversion behoben werden sollten, auf die in 1.6-preview1 verwiesen wird. Wie in 1.6-preview1 erwähnt, können Apps jetzt bei Bedarf eine neuere Version desMicrosoft.Web.WebView2Pakets auswählen.
Fehlerbehebungen
1.6-preview2 enthält die folgenden neuen Fixes seit der Veröffentlichung von 1.6-preview1:
- Ein Absturz beim Festlegen von
InfoBar.IsOpenin XAML wurde behoben. Weitere Informationen finden Sie im GitHub-Issue #8391.- Es wurde ein Problem behoben, bei dem HTML-Elemente die Zeigererfassung verloren, wenn die Maus außerhalb der
WebView2Grenzen verschoben wurde. Weitere Informationen finden Sie im GitHub-Issue #8677.- Es wurde ein Problem behoben, bei dem das Ziehen und Ablegen in ein Flyout mit
ShouldConstrainToRootBounds=falsenicht funktionierte. Weitere Informationen finden Sie im GitHub-Issue #9276.- Es wurde ein Problem behoben, bei dem
ms-appx://-Verweise nicht funktionierten, wennPublishSingleFileaktiviert ist. Weitere Informationen finden Sie im GitHub-Issue #9468.- Es wurde ein Problem behoben, bei dem Debuggersymbole für einige Binärdateien nicht ordnungsgemäß funktionieren. Weitere Informationen finden Sie im GitHub-Issue #4633.
- Einen Buildfehler bei der Verwendung von
/permissive-behoben. Weitere Informationen finden Sie unter GitHub-Problem #4643.- Es wurden einige Bruchänderungen der API in 1.6-preview1 behoben, die aufgrund umbenannter Parameter verursacht wurden. Weitere Informationen finden Sie unter GitHub-Problem #4645.
- Projektübergreifende Konflikte von Typen führten in der 1.6-Vorschau1-Version zu erheblichen Build-Unterbrechungen, besonders bei
Windows.UI.Text-Typen. Weitere Informationen finden Sie unter GitHub-Problem #4646.- Es wurde ein Problem bei der Ressourcensuche durch Steuerelementbibliotheken in 1.6-preview1 behoben. Weitere Informationen finden Sie unter GitHub-Problem #4649.
- Ein potenzieller Absturz beim Erstellen von Unterklassen für
NavigationViewwurde behoben.- Es wurde ein Problem behoben, bei dem Tabellenrahmen in einem
RichEditBoxbeim Scrollen oder Verringern der Tabellengröße nicht ordnungsgemäß gelöscht wurden.- Ein Problem wurde behoben, bei dem Flyouts aus
MediaTransportControlseinen vollständig transparenten Hintergrund hatten.- Es wurde ein Problem behoben, bei dem das Ziehen in eine WebView2 fehlschlug oder der Text an der falschen Stelle abgelegt wurde, wenn andere Anzeigeskalierungsfaktoren als 100 % verwendet wurden oder wenn die Textskalierung des Systems aktiviert war.
- Es wurde ein Problem behoben, bei dem
TextBox/RichEditBoxnicht an die Eingabehilfen gemeldet hat, wenn die Eingabe aufgrund derMaxLengthblockiert wurde.
Version 1.6 Preview 1 (1.6.0-preview1)
Hinweis
Das neue TitleBar-Steuerelement, das wir in 1.6-experimental1 veröffentlicht haben, ist in nicht-experimentellen Builds von 1.6 noch nicht verfügbar, um mehr Zeit zum Auswerten und Beantworten von Communityfeedback zu ermöglichen. Wir haben hier viele großartige Rückmeldungen erhalten und möchten sicherstellen, dass wir uns die nötige Zeit nehmen, um darauf einzugehen.
Erforderliche C#-Projektänderungen für 1.6-preview1
In 1.6-preview1 erfordern verwaltete Windows App SDK-Apps Microsoft.Windows.SDK.NET.Ref
*.*.*.38, die über WindowsSdkPackageVersion in IhrercsprojDatei angegeben werden können. Beispiel:<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> ...Darüber hinaus sollten verwaltete Windows-App-SDK-Apps auf Microsoft.Windows.CsWinRT
2.1.1(oder höher) aktualisiert werden.
Native AOT-Unterstützung
Die .NET
PublishAot-Projekteigenschaft wird jetzt für die systemeigene Ahead-Of-Time-Kompilierung unterstützt. Ausführliche Informationen zu Native AOT finden Sie unter Native AOT-Bereitstellung. Da AOT auf der Trimming-Unterstützung basiert, gilt auch ein Großteil der in der Version 1.6-experimental1 beschriebenen Trimming-bezogenen Anleitungen. Weitere Informationen finden Sie unter native AOT-Unterstützung .Wie bereits erwähnt, sollten C#-Projekte über einen Paketverweis auf Microsoft.Windows.CsWinRT 2.1.1 (oder höher) verfügen. Diese Version enthält eine AOT-sichere
ICustomPropertyProviderImplementierung. Typen, die mit dieser Unterstützung verwendet werden, sollten mit demWinRT.GeneratedBindableCustomProperty-Attribut gekennzeichnet undpartialgemacht werden.
Edge WebView2 SDK-Integration geändert
Das Windows-App-SDK verwendet jetzt das Edge WebView2 SDK als NuGet-Referenz, anstatt eine hartcodierte Version des Edge WebView2 SDK einzubetten. Mit dem neuen Modell können Apps eine neuere Version des
Microsoft.Web.WebView2-Pakets auswählen, anstatt auf die Version beschränkt zu sein, mit der das Windows-App-SDK erstellt wurde. Mit dem neuen Modell können Apps auch auf NuGet-Pakete verweisen, die auch auf das Edge WebView2 SDK verweisen. Weitere Informationen finden Sie im GitHub-Issue #5689.
Neue Paketbereitstellungs-APIs
Die Paketverwaltungs-API hat mehrere Verbesserungen erhalten, darunter Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() und mehrere Fehlerkorrekturen. Weitere Informationen finden Sie unter PackageManagement.md und Pullanforderung #4453 .
Verbesserte TabView-Registerkarte ausreißen
TabViewunterstützt einen neuenCanTearOutTabs-Modus, der eine erweiterte Benutzeroberfläche zum Ziehen von Registerkarten in ein neues Fenster bietet. Wenn diese neue Option aktiviert ist, ähnelt das Ziehen von Registerkarten in Edge und Chrome sehr dem Ziehen von Registerkarten, bei dem während des Ziehens sofort ein neues Fenster erstellt wird, sodass der Benutzer die Registerkarte an den Rand des Bildschirms ziehen kann, um das Fenster in einer reibungslosen Bewegung zu maximieren oder anzudocken. Diese Implementierung verwendet auch keine Drag-and-Drop-APIs, sodass sie nicht durch Einschränkungen in diesen APIs beeinträchtigt wird. Insbesondere wird das Ausreißen von Registerkarten in Prozessen unterstützt, die als Administrator ausgeführt werden.
Weitere wichtige Änderungen
- Wir haben eine neue
ColorHelper.ToDisplayName()API hinzugefügt, die diese Lücke von UWP füllt.- Es wurde eine neue
Microsoft.Windows.Globalization.ApplicationLanguages-Klasse hinzugefügt, die insbesondere ein neuesPrimaryLanguageOverride-Feature enthält. Weitere Informationen finden Sie im GitHub-Issue #4523.ItemsWrapGridnicht versiegelt. Dies sollte eine abwärtskompatible Änderung sein.PipsPagerunterstützt einen neuen Modus, in dem er zwischen den ersten und Listenelementen umbrochen werden kann.RatingControlist jetzt besser anpassbar, indem einige hartcodierte Formateigenschaften in Designressourcen verschoben werden. Dadurch können Apps diese Werte überschreiben, um die Darstellung von RatingControl besser anzupassen.
Bekannte Probleme
- Wenn der Debugger so eingestellt ist, dass er bei allen C++-Ausnahmen anhält, wird er bei einem Paar lauter Ausnahmen beim Start im BCP47-Code (Windows Globalization) anhalten.
Fehlerbehebungen
- Einige Probleme beim Umgang mit benutzerdefinierten Titelleistenszenarien wurden behoben. Weitere Informationen finden Sie in den GitHub-Problemen #7629, #9670, #9709 und #8431.
- Es wurde ein Problem behoben, bei dem das
InfoBadge-Symbol nicht sichtbar war. Weitere Informationen finden Sie im GitHub-Issue #8176.- Ein Problem wurde behoben, bei dem Symbole manchmal an der falschen Position in der
CommandBarFlyoutangezeigt wurden. Weitere Informationen finden Sie im GitHub-Issue #9409.- Ein Problem mit dem Tastaturfokus in Menüs beim Öffnen oder Schließen eines Untermenüs wurde behoben. Weitere Informationen finden Sie im GitHub-Issue #9519.
- Ein Problem wurde behoben, bei dem
TreeViewden falschenIsExpanded-Zustand beim Recycling von Elementen verwendet hat. Weitere Informationen finden Sie im GitHub-Issue #9549.- Ein Problem beim Verwenden einer ElementName-Bindung in einer
ItemsRepeater.ItemTemplatewurde behoben. Weitere Informationen finden Sie im GitHub-Issue #9715.- Es wurde ein Problem behoben, bei dem das erste Element in einer
ItemsRepeatermanchmal an einer falschen Position war. Weitere Informationen finden Sie im GitHub-Issue #9743.- Es wurde ein Problem behoben, bei dem
InputNonClientPointerSourcemanchmal die Eingabe über die Schaltflächen „Min/Max/Schließen“ unterbrach. Weitere Informationen finden Sie im GitHub-Issue #9749.- Ein Kompilierungsfehler bei Verwendung von Microsoft.UI.Interop.h mit clang-cl wurde behoben. Weitere Informationen finden Sie im GitHub-Issue #9771.
- Es wurde ein Problem behoben, bei dem das
CharacterReceived-Ereignis inComboBox/TextBoxnicht funktionierte. Weitere Informationen finden Sie im GitHub-Issue #9786.- Das Problem in den 1.6-experimentellen Builds wurde behoben, bei denen das Zeigereingabeverhalten auf
CanTearOutTabsMonitoren mit unterschiedlichem Skalierungsfaktor als 100%falsch war. Weitere Informationen finden Sie unter GitHub-Problem #9791.- Das Problem im Build 1.6-experimental2 wurde behoben, bei dem einige Sprachübersetzungen für
ColorHelper.ToDisplayName()Zeichencodierungsprobleme hatten.- Es wurde ein Problem von 1.6-experimental1 behoben, bei dem
NumberBoxdie richtigen Vordergrund- und Hintergrundfarben nicht verwendet wurden. Weitere Informationen finden Sie unter GitHub-Problem #9714.- Es wurde ein Problem behoben, bei dem doppelte
KeyUp-Ereignisse für Pfeil- und Tabulatortasten ausgelöst wurden. Weitere Informationen finden Sie im GitHub-Issue #9399.- Es wurde ein Problem behoben, bei dem das
PowerManager.SystemSuspendStatusChanged-Ereignis nicht zum Abrufen desSystemSuspendStatus-Ereignisses verwendet werden konnte. Weitere Informationen finden Sie im GitHub-Issue #2833.- Es wurde ein Problem behoben, bei dem der anfängliche Tastaturfokus nicht korrekt auf ein
WebView2gelegt wurde, wenn dies das einzige Steuerelement im Fenster war.- Es wurde ein Problem behoben, das bei der Verwendung von
ExtendsContentIntoTitleBar=trueauftrat, bei dem die Schaltflächen „Min/Max/Schließen“ nicht korrekt in der UI-Automatisierung angezeigt wurden, was dazu führte, dass Voice Access keine Zahlen für diese Schaltflächen anzeigte.- Es wurde ein Problem behoben, bei dem eine App aufgrund unerwarteter Eintrittsinvarianz in einer Sperrprüfung abstürzte.
- Es wurde ein Problem behoben, bei dem
Hyperlink-Farben beim Wechseln in ein Design mit hohem Kontrast nicht ordnungsgemäß aktualisiert wurden.- Es wurde ein Problem behoben, bei dem das Ändern der Sammlung einer
ListViewin einem Hintergrundfenster dazu führen konnte, dass dieses Fenster fälschlicherweise in den Vordergrund gerückt wurde und den Fokus erhielt.- Ein Problem in Version 1.6-experimental1 wurde behoben, bei dem das Setzen von
AcrylicBrush.TintLuminosityOpacityin eine .xaml-Datei innerhalb eines Klassenbibliotheksprojekts einen Absturz mit einem Typkonvertierungsfehler verursachte.- Es wurde ein Problem behoben, bei dem das Aufrufen der
ItemsRepeater.StartBringIntoViewmanchmal dazu führte, dass Elemente nicht mehr angezeigt werden.- Es wurde ein Problem behoben, bei dem das Berühren und Ziehen einer
Buttonin einerScrollViewerdiese in einem gedrückten Zustand lassen würde.- IntelliSense wurde mit Informationen für viele neuere Typen und Member aktualisiert.
- Es wurde ein Problem behoben, bei dem durch Klicken in einen leeren Bereich eines
ScrollViewerimmer der Fokus auf das erste fokussierbare Steuerelement imScrollViewerverschoben und in die Ansicht gescrollt wurde. Weitere Informationen finden Sie im GitHub-Issue #597.- Es wurde ein Problem behoben, bei dem das
Window.Activated-Ereignis manchmal mehrmals ausgelöst wurde. Weitere Informationen finden Sie im GitHub-Issue #7343.- Es wurde ein Problem behoben, bei dem das Festlegen der
NavigationViewItem.IsSelected-Eigenschaft auftrueverhinderte, dass die untergeordneten Elemente, wenn erweitert, angezeigt wurden. Weitere Informationen finden Sie im GitHub-Issue #7930.- Es wurde ein Problem behoben, bei dem
MediaPlayerElementBeschriftungen mitNone- oderDropShadow-Randeffekten nicht ordnungsgemäß anzeigte. Weitere Informationen finden Sie im GitHub-Issue #7981.- Es wurde ein Problem behoben, bei dem die
Flyout.ShowMode-Eigenschaft beim Anzeigen des Flyouts nicht verwendet wurde. Weitere Informationen finden Sie im GitHub-Issue #7987.- Es wurde ein Problem behoben, bei dem
NumberBoxmanchmal Rundungsfehler aufwies. Weitere Informationen finden Sie im GitHub-Issue #8780.- Es wurde ein Problem behoben, bei dem die Verwendung einer Bibliothek, die mit einer älteren Version des Windows App SDK kompiliert wurde, einen Fehler beim Versuch, einen Typ oder eine Eigenschaft zu finden, auftritt. Weitere Informationen finden Sie im GitHub-Issue #8810.
- Ein Problem wurde behoben, bei dem der anfängliche Tastaturfokus beim Starten eines Fensters nicht festgelegt wurde. Weitere Informationen finden Sie im GitHub-Issue #8816.
- Es wurde ein Problem behoben, bei dem
FlyoutShowMode.TransientWithDismissOnPointerMoveAwaynach der erstmaligen Anzeige nicht mehr funktionierte. Weitere Informationen finden Sie im GitHub-Issue #8896.- Es wurde ein Problem behoben, bei dem einige Steuerelemente die Eigenschaften
ForegroundundBackgroundnicht ordnungsgemäß an eine Vorlage gebunden haben. Weitere Informationen finden Sie in den GitHub-Problemen #7070, #9020, #9029, #9083 und #9102.- Es wurde ein Problem behoben, bei dem
ThemeResources, die inVisualStateManager-Settern verwendet wurden, bei einem Designwechsel nicht aktualisiert wurden. Dies hatte häufig Auswirkungen auf Steuerelemente in Flyouts. Weitere Informationen finden Sie im GitHub-Issue #9198.- Es wurde ein Problem behoben, bei dem
WebViewden Schlüsselfokus verlor, was zu zusätzlichen Weichzeichner-/Fokusereignissen und anderen Problemen führte. Weitere Informationen finden Sie im GitHub-Issue #9288.- Ein Problem wurde behoben, bei dem
NavigationVieweinen Bindungsfehler in der Debugausgabe anzeigte. Weitere Informationen finden Sie im GitHub-Issue #9384.- Ein Problem wurde behoben, bei dem SVG-Dateien, die ein negatives Viewbox-Element definieren, nicht mehr gerendert wurden. Weitere Informationen finden Sie im GitHub-Issue #9415.
- Es wurde ein Problem behoben, bei dem das Ändern der
ItemsView.Layout-Ausrichtung dazu führte, dass ein Element entfernt wurde. Weitere Informationen finden Sie im GitHub-Issue #9422.- Es wurde ein Problem behoben, bei dem beim Scrollen einer
ScrollVieweine Menge Debugausgabe erzeugt wurde. Weitere Informationen finden Sie im GitHub-Issue #9434.- Es wurde ein Problem behoben, bei dem
MapContorl.InteractiveControlsVisiblenicht ordnungsgemäß funktionierte. Weitere Informationen finden Sie im GitHub-Issue #9486.- Es wurde ein Problem behoben, bei dem das
MapControl.MapElementClick-Ereignis nicht ordnungsgemäß ausgelöst wurde. Weitere Informationen finden Sie im GitHub-Issue #9487.- Es wurde ein Problem behoben, bei dem x:Bind vor der Verwendung eines schwachen Verweises nicht auf NULL überprüft wurde, was zu einem Absturz führen konnte. Weitere Informationen finden Sie im GitHub-Issue #9551.
- Es wurde ein Problem behoben, bei dem das Ändern der
TeachingTip.Target-Eigenschaft ihre Position nicht ordnungsgemäß aktualisierte. Weitere Informationen finden Sie im GitHub-Issue #9553.- Ein Problem wurde behoben, bei dem Dropdowns in WebView2 nicht reagierten. Weitere Informationen finden Sie im GitHub-Issue #9566.
- Ein Speicherverlust bei Verwendung von
GeometryGroupwurde behoben. Weitere Informationen finden Sie im GitHub-Issue #9578.- Es wurde ein Problem behoben, bei dem das Scrollen durch eine sehr große Anzahl von Elementen aus einem
ItemRepeaterin einerScrollViewzu leeren Renderframes führen konnte. Weitere Informationen finden Sie im GitHub-Issue #9643.- Es wurde ein Problem behoben, bei dem
SceneVisualnicht funktionierte.
Neue APIs in 1.6.0-preview1
Version 1.6-preview1 enthält die folgenden neuen APIs im Vergleich zur stabilen Version 1.5:
Microsoft.UI ColorHelper ToDisplayNameMicrosoft.UI.Input EnteredMoveSizeEventArgs EnteringMoveSizeEventArgs ExitedMoveSizeEventArgs InputNonClientPointerSource EnteredMoveSize EnteringMoveSize ExitedMoveSize WindowRectChanged WindowRectChanging MoveSizeOperation WindowRectChangedEventArgs WindowRectChangingEventArgsMicrosoft.UI.Xaml XamlRoot CoordinateConverterMicrosoft.UI.Xaml.Automation.Peers ScrollPresenterAutomationPeerMicrosoft.UI.Xaml.Controls PipsPager WrapMode WrapModeProperty PipsPagerWrapMode TabView CanTearOutTabs CanTearOutTabsProperty ExternalTornOutTabsDropped ExternalTornOutTabsDropping TabTearOutRequested TabTearOutWindowRequested TabViewExternalTornOutTabsDroppedEventArgs TabViewExternalTornOutTabsDroppingEventArgs TabViewTabTearOutRequestedEventArgs TabViewTabTearOutWindowRequestedEventArgsMicrosoft.Windows.Globalization ApplicationLanguagesMicrosoft.Windows.Management.Deployment EnsureReadyOptions RegisterNewerIfAvailable PackageDeploymentFeature PackageDeploymentManager IsPackageDeploymentFeatureSupported IsPackageProvisioned IsPackageProvisionedByUri IsPackageReadyOrNewerAvailable IsPackageReadyOrNewerAvailableByUri IsPackageSetProvisioned IsPackageSetReadyOrNewerAvailable PackageReadyOrNewerAvailableStatusMicrosoft.Windows.Storage ApplicationData ApplicationDataContainer ApplicationDataContract ApplicationDataCreateDisposition ApplicationDataLocality
Version 1.6 Experimental (1.6.0-experimental2)
Hinweis
Phi Silica- und OCR-APIs sind in dieser Version nicht enthalten. Diese werden in einer zukünftigen Version von 1.6 verfügbar sein.
Native AOT-Support-Updates
In 1.6-experimental1 generierte der XAML-Compiler Code
XamlTypeInfo.g.cs, der nicht sicher für AOT/Trimming war. Dies bezieht sich auf GitHub-Problem #9675, obwohl es dieses Problem nicht vollständig behoben.
Edge WebView2 SDK-Integration geändert
Das Windows-App-SDK verwendet jetzt das Edge WebView2 SDK als NuGet-Referenz, anstatt eine hartcodierte Version des Edge WebView2 SDK einzubetten. Mit dem neuen Modell können Apps eine neuere Version des
Microsoft.Web.WebView2-Pakets auswählen, anstatt auf die Version beschränkt zu sein, mit der das Windows-App-SDK erstellt wurde. Mit dem neuen Modell können Apps auch auf NuGet-Pakete verweisen, die auch auf das Edge WebView2 SDK verweisen. Weitere Informationen finden Sie im GitHub-Issue #5689.
Neue Paketbereitstellungs-APIs
Die Paketverwaltungs-API hat mehrere Verbesserungen erhalten, darunter Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() und mehrere Fehlerkorrekturen. Weitere Informationen finden Sie unter PackageManagement.md und Pullanforderung #4453 .
Weitere wichtige Änderungen
- Ab 1.6-experimental2 wird die neueste WinUI 3-Quelle nun in der Hauptverzweigung im GitHub-Repository von microsoft-ui-xaml veröffentlicht, wodurch die Quellsuche in diesem Repository ermöglicht wird.
- Wir haben eine neue
ColorHelper.ToDisplayName()API hinzugefügt, die diese Lücke von UWP füllt.
- Bekanntes Problem: Einige Sprachübersetzungen haben Zeichencodierungsprobleme. Dies wird in der nächsten Version von 1.6 behoben.
- Es wurde eine neue
Microsoft.Windows.Globalization.ApplicationLanguages-Klasse hinzugefügt, die insbesondere ein neuesPrimaryLanguageOverride-Feature enthält. Weitere Informationen finden Sie im GitHub-Issue #4523.- Neue Erweiterungen ermöglichen Widget-Anbietern die Bereitstellung von Widgets mit Webinhalten und Ankündigungen für Widgets.
Neue APIs für 1.6-experimental2
1.6-experimental2 enthält die folgenden neuen APIs. Diese APIs sind nicht experimentell, aber noch nicht in einer stabilen Version des Windows App SDK enthalten.
Microsoft.UI.Xaml.Controls PipsPager WrapMode WrapModeProperty PipsPagerWrapModeMicrosoft.Windows.Globalization ApplicationLanguagesMicrosoft.Windows.Management.Deployment EnsureReadyOptions RegisterNewerIfAvailable PackageDeploymentFeature PackageDeploymentManager IsPackageDeploymentFeatureSupported IsPackageProvisioned IsPackageProvisionedByUri IsPackageReadyOrNewerAvailable IsPackageReadyOrNewerAvailableByUri IsPackageSetProvisioned IsPackageSetReadyOrNewerAvailable PackageReadyOrNewerAvailableStatus
Zusätzliche 1.6-experimental2-APIs
Diese Version enthält die folgenden neuen und geänderten experimentellen APIs:
Microsoft.UI ColorHelper ToDisplayNameMicrosoft.UI.Composition CompositionNotificationDeferralMicrosoft.UI.Composition.Experimental ExpCompositionVisualSurface ExpExpressionNotificationProperty IExpCompositionPropertyChanged IExpCompositionPropertyChangedListener IExpCompositor IExpVisualMicrosoft.UI.Content AutomationOptions ChildContentLink ContentAppWindowBridge ContentDisplayOrientations ContentExternalBackdropLink ContentExternalOutputLink ContentIsland Children Compositor Connected ConnectionInfo ConnectRemoteEndpoint Create Disconnected FindAllForCompositor FragmentRootAutomationProvider GetByVisual IsRemoteEndpointConnected NextSiblingAutomationProvider Offset ParentAutomationProvider PreviousSiblingAutomationProvider Root RotationAngleInDegrees ContentIslandEnvironment AutomationOption CurrentOrientation DisplayScale NativeOrientation ThemeChanged ContentSite Compositor Offset RotationAngleInDegrees SetContentNodeParent SetIsInputPassThrough SiteVisual TryGetAutomationProvider ContentSiteAutomationProviderRequestedEventArgs ContentSiteEnvironment CurrentOrientation DisplayScale NativeOrientation NotifyThemeChanged ContentSiteView Offset RotationAngleInDegrees CoreWindowSiteBridge CoreWindowTopLevelWindowBridge DesktopChildSiteBridge AcceptRemoteEndpoint ConnectionInfo IsRemoteEndpointConnected RemoteEndpointConnecting RemoteEndpointDisconnected RemoteEndpointRequestedStateChanged DesktopSiteBridge TryCreatePopupSiteBridge EndpointConnectionEventArgs EndpointRequestedStateChangedEventArgs IContentIslandEndpointConnectionPrivate IContentLink IContentNodeOwner IContentSiteBridge2 IContentSiteBridgeAutomation IContentSiteBridgeEndpointConnectionPrivate PopupWindowSiteBridge ProcessStarter ReadOnlyDesktopSiteBridge SystemVisualSiteBridgeMicrosoft.UI.Input EnteredMoveSizeEventArgs EnteringMoveSizeEventArgs ExitedMoveSizeEventArgs InputKeyboardSource GetForWindowId InputLayoutPolicy InputLightDismissAction GetForIsland InputNonClientPointerSource EnteredMoveSize EnteringMoveSize ExitedMoveSize WindowRectChanged WindowRectChanging InputPointerActivationBehavior InputPointerSource ActivationBehavior DirectManipulationHitTest GetForVisual GetForWindowId RemoveForVisual TouchHitTesting TrySetDeviceKinds MoveSizeOperation ProximityEvaluation TouchHitTestingEventArgs WindowRectChangedEventArgs WindowRectChangingEventArgsMicrosoft.UI.Input.Experimental ExpInputSite ExpPointerPointMicrosoft.UI.Windowing AppWindow DefaultTitleBarShouldMatchAppModeTheme DisplayArea GetMetricsFromWindowIdMicrosoft.UI.Xaml XamlIsland XamlRoot CoordinateConverter TryGetContentIslandMicrosoft.UI.Xaml.Automation.Peers PagerControlAutomationPeer ScrollPresenterAutomationPeerMicrosoft.UI.Xaml.Controls ContentDialogPlacement UnconstrainedPopup ElementFactory FlowLayout FlowLayoutAnchorInfo FlowLayoutLineAlignment FlowLayoutState IApplicationViewSpanningRects IndexPath ISelfPlayingAnimatedVisual ItemContainer CanUserInvoke CanUserInvokeProperty CanUserSelect CanUserSelectProperty ItemInvoked MultiSelectMode MultiSelectModeProperty ItemContainerInteractionTrigger ItemContainerInvokedEventArgs ItemContainerMultiSelectMode ItemContainerUserInvokeMode ItemContainerUserSelectMode LayoutPanel NumberBox InputScope InputScopeProperty TextAlignment TextAlignmentProperty PagerControl PagerControlButtonVisibility PagerControlDisplayMode PagerControlSelectedIndexChangedEventArgs PagerControlTemplateSettings ProgressRing DeterminateSource DeterminateSourceProperty IndeterminateSource IndeterminateSourceProperty RecyclePool RecyclingElementFactory ScrollingViewChangingEventArgs ScrollView ViewChanging SelectionModel SelectionModelChildrenRequestedEventArgs SelectionModelSelectionChangedEventArgs SelectTemplateEventArgs StackLayout IsVirtualizationEnabled IsVirtualizationEnabledProperty StackLayoutState TabView CanTearOutTabs CanTearOutTabsProperty ExternalTornOutTabsDropped ExternalTornOutTabsDropping TabTearOutRequested TabTearOutWindowRequested TabViewExternalTornOutTabsDroppedEventArgs TabViewExternalTornOutTabsDroppingEventArgs TabViewTabTearOutRequestedEventArgs TabViewTabTearOutWindowRequestedEventArgs TitleBar TitleBarAutomationPeer TitleBarTemplateSettings UniformGridLayoutStateMicrosoft.UI.Xaml.Controls.Primitives ScrollPresenter ViewChangingMicrosoft.Windows.ApplicationModel.WindowsAppRuntime DeploymentManager Repair DeploymentStatus PackageRepairFailed ReleaseInfo RuntimeInfo VersionInfoContractMicrosoft.Windows.Widgets.Feeds.Providers FeedManager TryRemoveAnnouncementById IFeedManager3Microsoft.Windows.Widgets.Notifications WidgetAnnouncement WidgetAnnouncementInvokedArgsMicrosoft.Windows.Widgets.Providers IWidgetAnnouncementInvokedTarget IWidgetManager2 IWidgetManager3 IWidgetProviderMessage IWidgetResourceProvider WidgetManager SendMessageToContent TryRemoveAnnouncementById TryShowAnnouncement WidgetMessageReceivedArgs WidgetResourceRequest WidgetResourceRequestedArgs WidgetResourceResponse
Bekannte Probleme
- Bei TabView-Registerkartenabbruch ist das Zeigereingabeverhalten für CanTearOutTabs auf Monitoren mit skalierungsbedingtem Skalierungsfaktor von 100 % falsch. Dies wird in der nächsten Version von 1.6 behoben.
Fehlerbehebungen
- Es wurde ein Problem von 1.6-experimental1 behoben, bei dem
NumberBoxdie richtigen Vordergrund- und Hintergrundfarben nicht verwendet wurden. Weitere Informationen finden Sie unter GitHub-Problem #9714.- Es wurde ein Problem behoben, bei dem doppelte
KeyUp-Ereignisse für Pfeil- und Tabulatortasten ausgelöst wurden. Weitere Informationen finden Sie im GitHub-Issue #9399.- Es wurde ein Problem behoben, bei dem das
PowerManager.SystemSuspendStatusChanged-Ereignis nicht zum Abrufen desSystemSuspendStatus-Ereignisses verwendet werden konnte. Weitere Informationen finden Sie im GitHub-Issue #2833.- Es wurde ein Problem behoben, bei dem der anfängliche Tastaturfokus nicht korrekt auf ein
WebView2gelegt wurde, wenn dies das einzige Steuerelement im Fenster war.- Es wurde ein Problem behoben, das bei der Verwendung von
ExtendsContentIntoTitleBar=trueauftrat, bei dem die Schaltflächen „Min/Max/Schließen“ nicht korrekt in der UI-Automatisierung angezeigt wurden, was dazu führte, dass Voice Access keine Zahlen für diese Schaltflächen anzeigte.- Es wurde ein Problem behoben, bei dem eine App aufgrund unerwarteter Eintrittsinvarianz in einer Sperrprüfung abstürzte.
- Es wurde ein Problem von 1.6-experimental1 behoben, bei dem
TitleBarnur das Symbol und der Titel angezeigt wurden, da einige Elemente beim Laden nicht angezeigt wurden.- Es wurde ein Problem behoben, bei dem
Hyperlink-Farben beim Wechseln in ein Design mit hohem Kontrast nicht ordnungsgemäß aktualisiert wurden.- Es wurde ein Problem behoben, bei dem das Ändern der Sammlung einer
ListViewin einem Hintergrundfenster dazu führen konnte, dass dieses Fenster fälschlicherweise in den Vordergrund gerückt wurde und den Fokus erhielt.- Ein Problem in Version 1.6-experimental1 wurde behoben, bei dem das Setzen von
AcrylicBrush.TintLuminosityOpacityin eine .xaml-Datei innerhalb eines Klassenbibliotheksprojekts einen Absturz mit einem Typkonvertierungsfehler verursachte.- Es wurde ein Problem behoben, bei dem das Aufrufen der
ItemsRepeater.StartBringIntoViewmanchmal dazu führte, dass Elemente nicht mehr angezeigt werden.- Es wurde ein Problem behoben, bei dem das Berühren und Ziehen einer
Buttonin einerScrollViewerdiese in einem gedrückten Zustand lassen würde.- IntelliSense wurde mit Informationen für viele neuere Typen und Member aktualisiert.
Version 1.6 Experimental (1.6.0-experimental1)
Dies ist die neueste Version des experimentellen Kanals.
Passen Sie Ihre Windows App SDK NuGet-Version auf 1.6.240531000-experimental1 an, um sie herunterzuladen.
Erforderliche C#-Projektänderungen für 1.6-experimental1
In 1.6-experimental1 erfordern verwaltete Windows App SDK-Apps Microsoft.Windows.SDK.NET.Ref
*.*.*.35-preview(oder höher), die über WindowsSdkPackageVersion in IhrercsprojDatei angegeben werden können. Beispiel:<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.35-preview</WindowsSdkPackageVersion> <PropertyGroup> ...Darüber hinaus sollten verwaltete Windows App SDK-Apps mit C#/WinRT auf Microsoft.Windows.CsWinRT
2.1.0-prerelease.240602.1(oder höher) aktualisiert werden.
Native AOT-Unterstützung
Hinweis
Für Windows App SDK 1.6.0 stable ist die folgende Anleitung veraltet. Projekte sollten stattdessen einfach bedingungslos auf PublishAot" gesetzt werden.
Die .NET PublishAot-Projekteigenschaft wird jetzt für die systemeigene Ahead-Of-Time-Kompilierung unterstützt. Ausführliche Informationen finden Sie unter native AOT-Bereitstellung. Da AOT auf der Trimming-Unterstützung basiert, gilt auch ein Großteil der folgenden Kürzungsanleitungen für AOT.
Zur PublishAot Unterstützung benötigen Sie zusätzlich zu den im vorherigen Abschnitt beschriebenen Änderungen des C#-Projekts auch einen Paketverweis auf Microsoft.Windows.CsWinRT2.1.0-prerelease.240602.1 (oder höher), um den Quellgenerator aus diesem Paket zu aktivieren.
Da das Windows-App-SDK beim Bereitstellen von F5 Veröffentlichungsziele aufruft, empfehlen wir, PublishAot zur NuGet-Wiederherstellungszeit zu aktiviere , indem Sie csproj Ihrer Datei hinzufügen:
<PublishAot Condition="'$(ExcludeRestorePackageImports)'=='true'">true</PublishAot>
Darüber hinaus wird empfohlen, beim Veröffentlichen von Releasekonfigurationen bedingt zu aktivieren PublishAot , entweder in Veröffentlichungsprofilen oder im Projekt:
<PublishAot Condition="'$(Configuration)'=='Release'">true</PublishAot>
Beheben von AOT-Problemen
In dieser Version ist der Entwickler dafür verantwortlich, dass alle Typen ordnungsgemäß gerootet sind, um ein Trimmen (z. B. mit spiegelbasierten {Binding}-Zielen) zu vermeiden. Spätere Versionen werden sowohl C#/WinRT als auch den XAML-Compiler verbessern, um das Rooting nach Möglichkeit zu automatisieren, Entwickler auf Trimmingrisiken hinzuweisen und Mechanismen zur Behebung bereitzustellen.
Teilklassen
C#/WinRT enthält PublishAot auch Unterstützung in Version 2.1.0-prerelease.240602.1. Um eine Klasse für die AOT-Veröffentlichung mit C#/WinRT zu aktivieren, muss sie zuerst markiert partial werden. Dadurch kann der C#/WinRT AOT-Quellanalysator die Klassen für statische Analysen attributieren. Nur Klassen (die Methoden enthalten, die Ziele des Trimmings) erfordern dieses Attribut.
Spiegelungsfreie Techniken
Um die AOT-Kompatibilität zu ermöglichen, sollten spiegelbasierte Techniken durch statisch typierte Serialisierung, AppContext.BaseDirectory, typeof() usw. ersetzt werden. Ausführliche Informationen finden Sie in der Einführung zum Trimming von Warnungen.
Rooting-Typen
Bis zur vollständigen Unterstützung für {Binding} die Implementierung können Typen wie folgt vor dem Kürzen beibehalten werden: Bei einem Projekt P , das assembly A mit Typ T im Namespace Nverwendet wird, auf den nur dynamisch verwiesen wird (also normalerweise gekürzt), T kann folgendes beibehalten werden:
P.csproj:
<ItemGroup>
<TrimmerRootDescriptor Include="ILLink.Descriptors.xml" />
</ItemGroup>
ILLink.Descriptors.xml:
<?xml version="1.0" encoding="utf-8"?>
<linker>
<assembly fullname="A">
<type fullname="N.T" preserve="all" />
</assembly>
</linker>
Vollständige XML-Ausdruckssyntax des Stammdeskriptors finden Sie unter Stammdeskriptoren.
Hinweis
Abhängigkeitspakete, die noch keine AOT-Unterstützung übernommen haben, können Laufzeitprobleme aufweisen.
Verbesserte TabView-Registerkarte ausreißen
TabViewunterstützt einen neuenCanTearOutTabs-Modus, der eine erweiterte Benutzeroberfläche zum Ziehen von Registerkarten in ein neues Fenster bietet. Wenn diese neue Option aktiviert ist, ähnelt das Ziehen von Tabstopps in Edge und Chrome sehr ähnlich der Registerkartenziehfunktion, bei der während des Ziehens sofort ein neues Fenster erstellt wird, sodass der Benutzer es an den Rand des Bildschirms ziehen kann, um das Fenster in einer reibungslosen Bewegung zu maximieren oder anzudockt. Diese Implementierung verwendet auch keine Drag-and-Drop-APIs, sodass sie nicht durch Einschränkungen in diesen APIs beeinträchtigt wird. Insbesondere wird das Ausreißen von Registerkarten in Prozessen unterstützt, die als Administrator ausgeführt werden.Bekanntes Problem: In dieser Version ist das Zeigereingabeverhalten auf
CanTearOutTabsMonitoren mit einem Skalierungsfaktor von 100 % falsch. Dies wird in der nächsten Version von 1.6 behoben.
Neues Titelleisten-Steuerelement
Ein neues
TitleBarSteuerelement erleichtert das Erstellen einer großartigen, anpassbaren Titelleiste für Ihre App mit den folgenden Features:
- Konfigurierbare Symbol-, Titel- und Untertiteleigenschaften
- Integrierte Schaltfläche "Zurück"
- Die Möglichkeit, ein benutzerdefiniertes Steuerelement wie ein Suchfeld hinzuzufügen
- Automatisches Ausblenden und Anzeigen von Elementen basierend auf der Fensterbreite
- Angebote zum Anzeigen des aktiven oder inaktiven Fensterzustands
- Unterstützung für standardmäßige Titelleistenfeatures wie ziehende Bereiche in leeren Bereichen, Reaktionsfähigkeit des Designs, Standardbeschriftungsschaltflächen (min/max/close) und integrierte Unterstützung für Barrierefreiheit
Das
TitleBarSteuerelement wurde entwickelt, um verschiedene Kombinationen von Titelleisten zu unterstützen, sodass es flexibel ist, die gewünschte Oberfläche zu erstellen, ohne viele benutzerdefinierten Code schreiben zu müssen. Wir haben Feedback vom Prototyp der Titelleiste des Community-Toolkits erhalten und freuen uns auf weiteres Feedback!Bekanntes Problem: In dieser Version wird das
TitleBarSymbol und der Titel nur aufgrund eines Problems angezeigt, bei dem einige Elemente beim Laden nicht angezeigt werden. Um dies zu umgehen, verwenden Sie den folgenden Code, um die anderen Elemente zu laden (Untertitel, Kopfzeile, Inhalt und Fußzeile):public MainWindow() { this.InitializeComponent(); this.ExtendsContentIntoTitleBar = true; this.SetTitleBar(MyTitleBar); MyTitleBar.Loaded += MyTitleBar_Loaded; } private void MyTitleBar_Loaded(object sender, RoutedEventArgs e) { // Parts get delay loaded. If you have the parts, make them visible. VisualStateManager.GoToState(MyTitleBar, "SubtitleTextVisible", false); VisualStateManager.GoToState(MyTitleBar, "HeaderVisible", false); VisualStateManager.GoToState(MyTitleBar, "ContentVisible", false); VisualStateManager.GoToState(MyTitleBar, "FooterVisible", false); // Run layout so we re-calculate the drag regions. MyTitleBar.InvalidateMeasure(); }Dieses Problem wird in der nächsten Version 1.6 behoben.
Weitere wichtige Änderungen
ItemsWrapGridnicht versiegelt. Dies sollte eine abwärtskompatible Änderung sein.PipsPagerunterstützt einen neuen Modus, in dem er zwischen den ersten und Listenelementen umbrochen werden kann.RatingControlist jetzt besser anpassbar, indem einige hartcodierte Formateigenschaften in Designressourcen verschoben werden. Dadurch können Apps diese Werte überschreiben, um die Darstellung von RatingControl besser anzupassen.
Neue APIs für 1.6-experimental1
1.6-experimental1 enthält die folgenden neuen APIs. Diese APIs sind nicht experimentell, aber noch nicht in einer stabilen Version des Windows App SDK enthalten.
Microsoft.UI.Xaml.Controls PipsPager WrapMode WrapModeProperty PipsPagerWrapMode None Wrap
Zusätzliche 1.6-experimental1-APIs
Diese Version enthält die folgenden neuen und geänderten experimentellen APIs:
Microsoft.UI.Content ChildContentLink ContentExternalOutputLink IsAboveContent ContentIsland Children Create FindAllForCompositor GetByVisual Offset RotationAngleInDegrees ContentSite Offset RotationAngleInDegrees ContentSiteView Offset RotationAngleInDegrees IContentLink IContentSiteBridge2 ReadOnlyDesktopSiteBridgeMicrosoft.UI.Input EnteredMoveSizeEventArgs EnteringMoveSizeEventArgs ExitedMoveSizeEventArgs InputNonClientPointerSource EnteredMoveSize EnteringMoveSize ExitedMoveSize WindowRectChanged WindowRectChanging MoveSizeOperation WindowRectChangedEventArgs WindowRectChangingEventArgsMicrosoft.UI.Windowing AppWindow DefaultTitleBarShouldMatchAppModeThemeMicrosoft.UI.Xaml XamlRoot CoordinateConverter TryGetContentIslandMicrosoft.UI.Xaml.Controls ScrollingViewChangingEventArgs ScrollView ViewChanging StackLayout IsVirtualizationEnabled IsVirtualizationEnabledProperty TabView CanTearOutTabs CanTearOutTabsProperty ExternalTornOutTabsDropped ExternalTornOutTabsDropping TabTearOutRequested TabTearOutWindowRequested TabViewExternalTornOutTabsDroppedEventArgs TabViewExternalTornOutTabsDroppingEventArgs TabViewTabTearOutRequestedEventArgs TabViewTabTearOutWindowRequestedEventArgs TitleBar TitleBarAutomationPeer TitleBarTemplateSettingsMicrosoft.UI.Xaml.Controls.Primitives ScrollPresenter ViewChanging
Andere bekannte Probleme
- Nicht-XAML-Anwendungen, die das ContentIsland.AutomationProviderRequested-Ereignis verwenden
Microsoft.UI.Content.ContentIslandsund nicht behandeln (oder nullptr als Automatisierungsanbieter zurückgeben), stürzt ab, wenn ein Barrierefreiheits- oder Benutzeroberflächenautomatisierungstool wie Voice Access, Sprachausgabe, Accessibility Insights, Inspect.exe usw. aktiviert ist.
Fehlerbehebungen
Die folgenden Fehlerkorrekturen sind in diesem Release enthalten:
- Es wurde ein Problem behoben, bei dem durch Klicken in einen leeren Bereich eines
ScrollViewerimmer der Fokus auf das erste fokussierbare Steuerelement imScrollViewerverschoben und in die Ansicht gescrollt wurde. Weitere Informationen finden Sie im GitHub-Issue #597.- Es wurde ein Problem behoben, bei dem das
Window.Activated-Ereignis manchmal mehrmals ausgelöst wurde. Weitere Informationen finden Sie im GitHub-Issue #7343.- Ein Problem wurde behoben, durch das die
NavigationViewItem.IsSelectedEigenschaft so festgelegt wurde,truedass die untergeordneten Elemente nicht angezeigt werden, wenn sie erweitert werden. Weitere Informationen finden Sie im GitHub-Issue #7930.- Es wurde ein Problem behoben, bei dem
MediaPlayerElementBeschriftungen mitNone- oderDropShadow-Randeffekten nicht ordnungsgemäß anzeigte. Weitere Informationen finden Sie im GitHub-Issue #7981.- Es wurde ein Problem behoben, bei dem die
Flyout.ShowMode-Eigenschaft beim Anzeigen des Flyouts nicht verwendet wurde. Weitere Informationen finden Sie im GitHub-Issue #7987.- Es wurde ein Problem behoben, bei dem
NumberBoxmanchmal Rundungsfehler aufwies. Weitere Informationen finden Sie im GitHub-Issue #8780.- Es wurde ein Problem behoben, bei der die Verwendung einer Bibliothek, die mit einer älteren Version von Windows App SDK kompiliert wurde, auf einen Versuch, einen Typ oder eine Eigenschaft zu finden, stoßen kann. Weitere Informationen finden Sie im GitHub-Issue #8810.
- Es wurde ein Problem behoben, bei dem der anfängliche Tastaturfokus beim Starten eines Fensters nicht festgelegt wurde. Weitere Informationen finden Sie im GitHub-Issue #8816.
- Es wurde ein Problem behoben, bei dem
FlyoutShowMode.TransientWithDismissOnPointerMoveAwaynach der ersten Anzeige nicht mehr funktionierte. Weitere Informationen finden Sie im GitHub-Issue #8896.- Es wurde ein Problem behoben, bei dem einige Steuerelemente die Eigenschaften
ForegroundundBackgroundnicht ordnungsgemäß an eine Vorlage gebunden haben. Weitere Informationen finden Sie in den GitHub-Problemen #7070, #9020, #9029, #9083 und #9102.- Es wurde ein Problem behoben, bei dem
ThemeResources, die inVisualStateManager-Settern verwendet wurden, bei einem Designwechsel nicht aktualisiert wurden. Dies hatte häufig Auswirkungen auf Steuerelemente in Flyouts. Weitere Informationen finden Sie im GitHub-Issue #9198.- Es wurde ein Problem behoben, bei dem
WebViewden Schlüsselfokus verlor, was zu zusätzlichen Weichzeichner-/Fokusereignissen und anderen Problemen führte. Weitere Informationen finden Sie im GitHub-Issue #9288.- Ein Problem wurde behoben, bei dem
NavigationViewein Bindungsfehler in der Debugausgabe angezeigt werden kann. Weitere Informationen finden Sie im GitHub-Issue #9384.- Ein Problem wurde behoben, bei dem SVG-Dateien, die ein negatives Viewbox-Element definieren, nicht mehr gerendert wurden. Weitere Informationen finden Sie im GitHub-Issue #9415.
- Es wurde ein Problem behoben, bei dem das Ändern der
ItemsView.Layout-Ausrichtung dazu führte, dass ein Element entfernt wurde. Weitere Informationen finden Sie im GitHub-Issue #9422.- Es wurde ein Problem behoben, bei dem beim Scrollen einer
ScrollVieweine Menge Debugausgabe erzeugt wurde. Weitere Informationen finden Sie im GitHub-Issue #9434.- Es wurde ein Problem behoben, bei dem
MapContorl.InteractiveControlsVisiblenicht ordnungsgemäß funktioniert. Weitere Informationen finden Sie im GitHub-Issue #9486.- Es wurde ein Problem behoben, bei dem
MapControl.MapElementClickdas Ereignis nicht ordnungsgemäß ausgelöst wurde. Weitere Informationen finden Sie im GitHub-Issue #9487.- Es wurde ein Problem behoben, bei dem x:Bind vor der Verwendung eines schwachen Verweises nicht auf NULL überprüft, was zu einem Absturz führen kann. Weitere Informationen finden Sie im GitHub-Issue #9551.
- Es wurde ein Problem behoben, bei dem das Ändern der Eigenschaft ihre
TeachingTip.TargetPosition nicht ordnungsgemäß aktualisiert. Weitere Informationen finden Sie im GitHub-Issue #9553.- Ein Problem wurde behoben, bei dem Dropdowns in WebView2 nicht reagierten. Weitere Informationen finden Sie im GitHub-Issue #9566.
- Ein Speicherverlust bei Verwendung von
GeometryGroupwurde behoben. Weitere Informationen finden Sie im GitHub-Issue #9578.- Es wurde ein Problem behoben, bei dem das Scrollen durch eine sehr große Anzahl von Elementen aus einem
ItemRepeaterin einerScrollViewDatei zu leeren Renderframes führen kann. Weitere Informationen finden Sie im GitHub-Issue #9643.- Es wurde ein Problem behoben, bei dem
SceneVisualnicht funktionierte.
Windows developer