Microsoft veröffentlicht Windows UI Library 3 Preview 4
9 Minute. lesen
Veröffentlicht am
Lesen Sie unsere Offenlegungsseite, um herauszufinden, wie Sie MSPoweruser dabei helfen können, das Redaktionsteam zu unterstützen Lesen Sie weiter
WinUI ist eine Benutzeroberflächenebene, die moderne Steuerelemente und Stile zum Erstellen von Windows-Apps enthält, sowohl für Desktop als auch für UWP. Als native UI-Schicht in Windows verkörpert es Fluent Design und verleiht jeder Windows-App das ausgefeilte Gefühl, das Benutzer erwarten.
[lwptoc title=“WinUI Library 3 Preview 4″ width=“40%“ float=“right“]
WinUI 3 ist die neueste Version des WinUI-Frameworks, die später in diesem Jahr ausgeliefert wird. Es erweitert WinUI dramatisch zu einem vollständigen UX-Framework und macht WinUI für alle Arten von Windows-Apps – von Win32 bis UWP – zur Verwendung als UI-Schicht verfügbar. Wenn sie fertig ist, kann jede Windows-App ihre modernen Steuerelemente nutzen, die unabhängig von der Windows-Version funktionieren, auf der sie ausgeführt werden.
Heute erschienen, WinUI 3 Vorschau 4 ist eine Stabilitätsvorschau, die kritische Fehlerbehebungen und andere allgemeine Verbesserungen für das Framework enthält.
Funktionen, die in Vorschau 4 eingeführt wurden
- Parität mit WinUI 2.5 (enthält InfoBar-Steuerelement, neue Funktionen in ProgressRing und NavigationView sowie Fehlerbehebungen)
- Benutzerdefinierte Titelleistenfunktionen: Neue Window.ExtendsContentIntoTitleBar- und Window.SetTitleBar-APIs, mit denen Entwickler benutzerdefinierte Titelleisten in Desktop-Apps erstellen können.
- VirtualSurfaceImageSource-Unterstützung
Neue Features und Fähigkeiten, die in früheren WinUI 3 Previews eingeführt wurden
Die folgenden Features und Funktionen wurden in WinUI 3 Preview 1-3 eingeführt und werden weiterhin in WinUI 3 Preview 4 unterstützt.
- Möglichkeit, Desktop-Apps mit WinUI zu erstellen, einschließlich .NET 5 für Win32-Apps
- RadialGradientPinsel
- TabView-Updates
- Aktualisierungen des dunklen Designs
- Verbesserungen und Updates zu Webansicht2
- Unterstützung für hohe DPI
- Unterstützung für die Größenänderung und das Verschieben von Fenstern
- Aktualisiert, um auf eine neuere Version von Edge abzuzielen
- Es ist nicht mehr erforderlich, auf ein WebView2-spezifisches Nuget-Paket zu verweisen
- SwapChainPanel
- MRT-Core-Unterstützung
- Dies macht Apps beim Start schneller und leichter und bietet eine schnellere Ressourcensuche.
- ARM64-Unterstützung
- Drag & Drop innerhalb und außerhalb von Apps
- RenderTargetBitmap (derzeit nur XAML-Inhalt – kein SwapChainPanel-Inhalt)
- Benutzerdefinierte Cursorunterstützung
- Off-Thread-Eingabe
- Verbesserungen unserer Tooling- / Entwicklererfahrung:
- Live Visual Tree, Hot Reload, Live Property Explorer und ähnliche Tools
- Intellisense für WinUI 3
- Für die Open-Source-Migration erforderliche Verbesserungen
Weitere Informationen zu den Vorteilen von WinUI 3 und der WinUI-Roadmap finden Sie unter Roadmap für die Bibliothek der Windows-Benutzeroberfläche auf GitHub.
Liste der in Vorschau 4 behobenen Fehler
Nachfolgend finden Sie eine Liste der benutzerbezogenen Fehler, die das Team seit Vorschau 3 behoben hat. Es wurde auch viel an der Stabilisierung und Verbesserung unserer Tests gearbeitet.
- Diese Version hat eine neue Version von CS/WinRT und das Windows SDK übernommen, wodurch die folgenden Fehler behoben wurden:
- Absturz beim Binden an eine URI-Eigenschaft mit {Binding}
- C#/WinRT-Marshal-Funktionen arbeiten nicht ordnungsgemäß mit .NET 5 zusammen
- WinUI 3 stürzt ab, wenn es auf Windows Insider Builds ausgeführt wird
- Vielen Dank an mehrere Community-Mitwirkende, die diesen Fehler auf GitHub gemeldet haben!
- WebView2 wendet die Sprache/das Gebietsschema der Host-App nicht auf CoreWebView2Environment an
- Das DataGrid-Steuerelement des Windows Community Toolkit stürzt die App beim Start ab/wenn Bildlaufleisten angezeigt werden
- Vielen Dank an mehrere Community-Mitwirkende, die diesen Fehler auf GitHub gemeldet haben!
- Die Seitenwiedergabe gerät in einen schlechten Zustand, wenn sich der Anzeigemodus ändert
- Absturz bei Verwendung der Sprach-ComboBox in CalendarView
- WinUI 3 Desktop: Kann WebView2 nicht verlassen
- WinUI 3 Desktop: TreeView mit abgeleiteten TreeViewNodes stürzt ab
- WinUI 3 Desktop: Text kann nicht in TextBox innerhalb von ContentDialog eingegeben werden
- WinUI 3 Desktop: ALT und F6 funktionieren nicht
- Das alte entfernte SwapChainPanel wird über dem neuen SwapChain gerendert
- WinUI 3 Desktop: Scrollen mit Trackpad nicht möglich
- Absturz bei Verwendung des NavigationView-Steuerelements mit mehreren Fenstern im selben Thread
- Barrierefreiheitsproblem: Fokusrechteck beim Start der WinUI-Desktop-App anzeigen
- Zugriffsverletzung beim Scrollen in DataGrid
- WinUI 3 Desktop: Tab-Wechsel funktioniert nicht
- Drag & Drop auf GridView schlägt in Desktop-Anwendung mit WinUI-XAML-Inseln fehl
- Barrierefreiheitsproblem: Scrollen mit den Bild-auf/Bild-ab-Tasten auf WinUI 3 Desktop nicht möglich
- WebView2 hat die falsche Darstellungsgröße
- WebView2 stürzt beim Klicken nach dem Öffnen von MenuFlyout ab
- WinUI 3 Desktop: Der Versuch, das Flyout von DropDownButton oder SplitButton herunterzufahren, führt zum Absturz der App
- WebView2: Doppelklick mit der rechten Maustaste verursacht einen Absturz
- Das Klicken auf einen ToggleSplitButton führt zum Absturz der Anwendung
- WinUI 3 Desktop: Leeres DesktopWindowXamlSource-Fenster in der Taskleiste sichtbar
- WinUI 3 Desktop: DataGrid wird nicht angezeigt
- WinUI 3 Desktop: Dateien können nicht auf dem Grid abgelegt werden
- WinUI 3 Desktop: ItemsRepeater-Absturz in WinUI 3 Preview 2
- AccessViolationException wird beim Aktualisieren von Bindungen ausgelöst
- WinUI 3 Desktop: App stürzt beim Scrollen der NavigationView ab
- ItemsControl wird nicht aktualisiert, während Elemente in seiner ItemsSource-Auflistung dynamisch hinzugefügt oder entfernt werden.
- Kompilierfehler C2760 in App.xaml.gh, wenn der C++-Konformitätsmodus aktiviert ist
Einschränkungen und bekannte Probleme
Die Version Preview 4 ist einfach eine Vorschau mit Fehlern, Einschränkungen und anderen Problemen mit den Szenarien rund um Desktop-Apps, die besonders neu sind.
Die folgenden Punkte sind einige der bekannten Probleme mit WinUI 3 Preview 4.
Entwicklerwerkzeuge
- Es werden nur C#- und C++/WinRT-Apps unterstützt
- Desktop-Apps unterstützen .NET 5 und C# 9 und müssen in eine MSIX-App gepackt werden
- UWP-Apps unterstützen .NET Native und C# 7.3
- Entwicklertools und IntelliSense funktionieren in Visual Studio Version 16.8 möglicherweise nicht ordnungsgemäß.
- Keine XAML-Designer-Unterstützung
- Neue C++/CX-Apps werden nicht unterstützt, Ihre bestehenden Apps funktionieren jedoch weiterhin (bitte wechseln Sie so schnell wie möglich zu C++/WinRT).
- Die Unterstützung mehrerer Fenster in Desktop-Apps ist in Arbeit, aber noch nicht vollständig und stabil.
- Bitte melden Sie einen Fehler in unserem Repo, wenn Sie neue Probleme oder Regressionen mit Multi-Window-Verhalten finden.
- Eine unverpackte Desktop-Bereitstellung wird nicht unterstützt
- Stellen Sie beim Ausführen einer Desktop-App mit F5 sicher, dass Sie das Paketierungsprojekt ausführen. Durch Drücken von F5 im App-Projekt wird eine entpackte App ausgeführt, die von WinUI 3 noch nicht unterstützt wird.
Fehlende Plattformfunktionen
- Xbox-Unterstützung
- HoloLens-Unterstützung
- Fenster-Popups
- Genauer gesagt, die
ShouldConstrainToRootBounds
Die Eigenschaft verhält sich immer so, als wäre sie eingestellttrue
, unabhängig vom Immobilienwert.
- Genauer gesagt, die
- Farbunterstützung
- Acryl
- MediaElement und MediaPlayerElement
- MapControl
- RenderTargetBitmap für SwapChainPanel und Nicht-XAML-Inhalt
- SwapChainPanel unterstützt keine Transparenz
- Global Reveal verwendet ein Fallback-Verhalten, einen soliden Pinsel
- XAML-Inseln werden in dieser Version nicht unterstützt
- Ökosystembibliotheken von Drittanbietern funktionieren nicht vollständig
- IMEs funktionieren nicht
Bekannte Probleme
- Alt+F4 schließt Desktop-App-Fenster nicht.
- Aufgrund von Änderungen mit Kernfenster, funktionieren die folgenden WinRT-APIs möglicherweise nicht mehr Desktop Apps wie erwartet:
ApplicationView
und alle zugehörigen APIs funktionieren nicht mehr.CoreApplicationView
und alle zugehörigen APIs funktionieren nicht mehr.- Alle
GetForCurrentView
APIs werden beispielsweise möglicherweise nicht unterstütztCoreInputView.GetForCurrentView
. CoreWindow.GetForCurrentThread
gibt jetzt null zurück.
Weitere Informationen zur Verwendung von WinRT-APIs in Ihrer WinUI 3-Desktop-App finden Sie unter Für Desktop-Apps verfügbare Windows-Runtime-APIs.
- Windows.UI.ViewManagement.UISettings.ColorValuesChanged-Ereignis wird in Desktop-Apps nicht mehr unterstützt. Dies kann zu Problemen führen, wenn Sie es verwenden, um Änderungen in Windows-Designs zu erkennen.
- Diese Version enthält einige experimentelle APIs. Diese wurden vom Team nicht gründlich getestet und können unbekannte Probleme aufweisen. Bitte einen Fehler melden in unserem Repo, wenn Sie auf Probleme stoßen.
- Bisher mussten Sie zum Abrufen einer CompositionCapabilities-Instanz aufrufen CompositionCapabilites.GetForCurrentView(). Die von diesem Aufruf zurückgegebenen Fähigkeiten waren jedoch nicht abhängig von der Ansicht. Um dies anzugehen und widerzuspiegeln, haben wir die Statik GetForCurrentView() in dieser Version gelöscht, sodass Sie jetzt eine erstellen können Kompositionsfähigkeiten Objekt direkt.
- Für C#-UWP-Apps: Das WinUI 3-Framework ist ein Satz von WinRT-Komponenten, die von C++ (unter Verwendung von C++/WinRT) oder C# verwendet werden können. Bei der Verwendung von C# gibt es je nach App-Modell zwei Versionen von .NET: Wenn Sie WinUI 3 in einer UWP-App verwenden, verwenden Sie .NET Native; bei Verwendung in einer Desktop-App verwenden Sie .NET 5 (und C#/WinRT). WinUI 3-App: Einige Typen befinden sich in a
Microsoft
Namensraum statt aSystem
Namensraum. Zum Beispiel eher als dieINotifyPropertyChanged
Schnittstelle in derSystem.ComponentModel
Namensraum, es ist in derMicrosoft.UI.Xaml.Data
Namensraum. Dies gilt für:INotifyPropertyChanged
(und verwandte Typen)INotifyCollectionChanged
ICommand
Das
System
Namespace-Versionen existieren noch, können aber nicht mit WinUI 3 verwendet werdenObservableCollection
funktioniert nicht unverändert in WinUI 3 C# UWP-Apps. Eine Problemumgehung finden Sie unter CollectionsInterop-Beispiel der Beispiel für die Galerie der XAML-Steuerelemente.
Was kommt als nächstes?
Entwickler können einen Blick auf die detaillierten Informationen von Microsoft werfen Feature-Roadmap um zu sehen, wann bestimmte Funktionen in WinUI 3 eingeführt werden.
Installieren Sie WinUI 3 Preview 4
WinUI 3 Preview 4 enthält Visual Studio-Projektvorlagen, um den Einstieg in die Entwicklung von Apps mit einer WinUI-basierten Benutzeroberfläche zu erleichtern, sowie ein NuGet-Paket, das die WinUI-Bibliotheken enthält. Gehen Sie folgendermaßen vor, um WinUI 3 Preview 4 zu installieren.
Windows-Community-Toolkit
Wenn Sie das Windows Community Toolkit verwenden, Laden Sie die neueste Version herunter.
Abgesehen von der Einschränkungen und bekannte Probleme, ähnelt das Erstellen einer App mithilfe der WinUI-Projekte dem Erstellen einer UWP-App mit XAML und WinUI 2.x. Daher die meisten Anleitung Dokumentation für UWP-Apps und die Windows.UI WinRT-Namespaces im Windows SDK ist anwendbar.
Weitere Informationen zu den ersten Schritten mit den WinUI-Projektvorlagen finden Sie in den folgenden Artikeln:
Eine API-Referenzdokumentation für diese Version ist in Kürze verfügbar, aber in der Zwischenzeit können sich Entwickler die WinUI 3 API-Referenzdokumentation für Preview 3.
Wenn Sie ein Projekt mit WinUI 3 Preview 3 erstellt haben, können Sie Ihr Projekt auf die Verwendung von Preview 4 aktualisieren WinUI-GitHub-Repository Detaillierte Anweisungen.
Um die neuesten Toolfeatures nutzen zu können, die in WinUI 3 Preview 4 hinzugefügt wurden, wie Hot Reload, Live Visual Tree und Live Property Explorer, müssen Sie die neueste Vorschauversion von Visual Studio mit der neuesten WinUI 3-Vorschau verwenden und diese unbedingt aktivieren WinUI-Tools in Visual Studio-Vorschaufeatures, wie in beschrieben Anweisungen hier.
Galerie der XAML-Steuerelemente (Zweig WinUI 3 Preview 4)
Siehe die WinUI 3 Preview 4-Zweig der XAML-Steuerelementgalerie für eine Beispiel-App, die alle Steuerelemente und Funktionen von WinUI 3 Preview 4 enthält.
Beispiel für die WinUI 3 Preview 4 XAML Controls Gallery-App
Diese Vorschauversion von WinUI 3 ist für eine frühzeitige Evaluierung und zum Sammeln von Feedback von der Entwickler-Community vorgesehen. Es sollte NICHT für Produktions-Apps verwendet werden. Microsoft wird bis 3 weiterhin Vorschauversionen von WinUI 2021 ausliefern, gefolgt von der ersten offiziellen, unterstützten Version im März 2021.
Bitte verwenden Sie die WinUI-GitHub-Repo um Feedback zu geben und Vorschläge und Probleme zu protokollieren.