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.
WinUI 3 ist eine systemeigene UX-Plattform (User Experience) zum Erstellen moderner Windows-Apps. Diese Vorschau von WinUI 3 funktioniert sowohl mit Desktop-/Win32- als auch mit UWP-Apps und enthält Visual Studio-Projektvorlagen, um mit dem Erstellen von Apps mit einer WinUI-basierten Benutzeroberfläche sowie einem NuGet-Paket zu beginnen, das die WinUI-Bibliotheken enthält.
WinUI 3 – Project Reunion 0.5 Preview ist die erste Version von WinUI 3, in der sie als Teil des Project Reunion-Pakets (jetzt als Windows App SDK bezeichnet) bereitgestellt wird. Neben dieser Änderung enthält diese Vorschauversion wichtige Fehlerbehebungen, erhöhte Stabilität und einige weitere allgemeine Verbesserungen (siehe in WinUI 3 eingeführte Funktionen – Project Reunion 0.5 Preview).
Von Bedeutung
Diese WinUI 3-Vorschau ist für eine frühzeitige Auswertung vorgesehen und dient zum Sammeln von Feedback aus der Entwicklercommunity. Sie sollte NICHT für Produktions-Apps verwendet werden.
Verwenden Sie das WinUI GitHub-Repository , um Feedback zu geben und Vorschläge und Probleme zu protokollieren.
Hinweis
Project Reunion ist der vorherige Codename für das Windows App SDK. In dieser Dokumentation wird Project Reunion weiterhin verwendet, wenn auf frühere Versionen verwiesen wird, die diesen Codenamen verwendet haben.
Installieren von WinUI 3 – Project Reunion 0.5 Preview
Diese Version von WinUI 3 ist als Teil der Project Reunion 0.5 Preview verfügbar.
Folgen Sie zur Installation den Anweisungen in den Installationstools für Vorschau- und experimentelle Kanäle des Windows App SDK.
Im Gegensatz zu früheren Vorschauversionen von WinUI 3 laden Sie ein VSIX-Paket von Project Reunion anstelle eines WinUI VSIX-Pakets herunter. Die Project Reunion VSIX enthält WinUI 3-Vorlagen in Visual Studio , die Sie zum Erstellen Ihrer WinUI-App verwenden. Nachdem Sie die Installation abgeschlossen haben, sollte sich die Erfahrung beim Entwickeln einer WinUI-App nicht ändern.
Hinweis
Sie können auch die WinUI 3 Preview-Version des XAML-Steuerelementkatalogs klonen und erstellen.
Hinweis
Um WinUI 3-Tools wie Live Visual Tree, Hot Reload und Live Property Explorer zu verwenden, müssen Sie winUI 3-Tools mit Visual Studio Preview-Features aktivieren, wie in den Anweisungen hier beschrieben.
Nachdem Sie Ihre Entwicklungsumgebung eingerichtet haben, lesen Sie WinUI 3-Vorlagen in Visual Studio , um sich mit den verfügbaren Visual Studio-Projekt- und Elementvorlagen vertraut zu machen.
Weitere Informationen zu den ersten Schritten mit den WinUI-Projektvorlagen finden Sie in den folgenden Artikeln:
Neben den Einschränkungen und bekannten Problemen ähnelt das Erstellen einer App mit winUI-Projekten dem Erstellen einer UWP-App mit XAML und WinUI 2. Daher gelten die meisten Anleitungen für UWP-Apps und die Windows.UI WinRT-Namespaces im Windows SDK.
WinUI 3 API-Referenzdokumentation ist hier verfügbar: WinUI 3-API-Referenz
Wenn Sie ein Projekt mit WinUI Preview 4 erstellt haben, können Sie ihr Projekt aktualisieren, um Project Reunion 0.5 Preview zu verwenden.
WebView2
Um WebView2 mit dieser WinUI 3-Vorschau zu verwenden, laden Sie den Evergreen Bootstrapper oder Evergreen Standalone Installer auf dieser Seite herunter, wenn Sie die WebView2-Runtime noch nicht installiert haben.
Windows Community Toolkit
Wenn Sie das Windows Community Toolkit verwenden, laden Sie die neueste Version herunter.
Visual Studio-Unterstützung
Um die neuesten Tools nutzen zu können, die in WinUI 3 hinzugefügt wurden, z. B. 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 unbedingt winUI-Tools in Visual Studio Preview-Features aktivieren, wie in den Anweisungen hier beschrieben. Die folgende Tabelle zeigt die Kompatibilität zukünftiger Versionen mit WinUI 3 – Project Reunion 0.5 Preview:
| VS-Version | WinUI 3 – Project Reunion 0.5 Preview |
|---|---|
| 16.8 RTM | Nein |
| 16.9 Vorschauen | Ja, mit Werkzeugen |
| 16.9 RTM | Ja, aber kein Hot Reload, Live Visual Tree oder Live Property Explorer |
| 16.10 Vorschauen | Ja, mit Werkzeugen |
Wichtige Änderungen, die in dieser Version eingeführt wurden
WinUI 3 wird nun als Teil des Project Reunion-Pakets ausgeliefert, das auch der Mechanismus dafür sein wird, wie unsere zukünftigen unterstützten Versionen ausgeliefert werden.
Acryl innerhalb der App wird jetzt unterstützt.
Das Pivot-Steuerelement wird nicht mehr unterstützt und ist in WinUI 3 veraltet. Wir empfehlen die Verwendung des NavigationView-Steuerelements für Ihre In-App-Navigationsszenarien.
WinUI 3 und Project Reunion werden nur rückwirkend bis herunter zu Windows 10, Version 1809, unterstützt – es erfordert Build 17763 oder höher.
Vorschaufeatures sind jetzt als experimentell gekennzeichnet.
- Ein Vorschaufeature ist alles, was weiterhin Teil von WinUI 3-Vorschauen ist, aber nicht Teil der nächsten winUI 3-unterstützten Version ist.
- Vorschaufeatures enthalten auch alle experimentellen APIs, die Teil der WinUI für UWP 2.6-Vorschau sind.
- Beim Erstellen einer App, die ein Vorschaufeature verwendet, löst Ihre App eine Warnung aus.
Liste der in WinUI 3 behobenen Fehler – Project Reunion 0.5 Preview
Nachfolgend finden Sie eine Liste der benutzerbezogenen Fehler, die das Team seit Der Vorschau 3 behoben hat. Es gab auch eine Menge Arbeit an der Stabilisierung und Verbesserung unserer Tests.
WinUI 3-Fehlermeldung muss neu formuliert werden: "'Windows.metadata' kann nicht aufgelöst werden. Installieren Sie das Windows Software Development Kit. Das Windows SDK ist mit Visual Studio installiert."
Die App reagiert nicht auf Designänderungen in Windows, wenn Sie das Windows-Standarddesign auswählen, bis sie neu gestartet wurde.
Ausnahme für xamlDirect.CreateInstance-Aufruf
- @BorzillaR Vielen Dank für die Einreichung dieses Problems auf GitHub!
ProgressBar zeigt den Unterschied zwischen „Angehalten“ und „Fehler“ nicht an
Das Flyout des StandardUICommand-Listenansichtelements wird an falscher Position angezeigt.
Absturz in Desktop XamlControlsGallery beim Versuch, ListView-Elemente mit Toucheingabe neu anzuordnen
- @j0shuams Vielen Dank für die Einreichung dieses Problems auf GitHub!
Drücken und Halten von RichTextBlock setzt Flyout an falsche Position
NACH-LINKS-/NACH-RECHTS-TASTEN bewegen den Fokus nicht durch RadioButtons
- @vmadurga Vielen Dank für die Einreichung dieses Problems auf Github!
Sprachausgabe bleibt stumm, wenn der Benutzer die NACH-OBEN-oder NACH-OBEN-TASTE drückt, um in DatePicker zum nächsten/vorherigen Monat/Jahr/Datum zu wechseln
In WinUI 3 funktioniert "light-dismiss" bei NavigationView nicht.
Neue Features und Funktionen, die in der Vergangenheit in WinUI 3 Previews eingeführt wurden
Die folgenden Features und Funktionen wurden in WinUI 3 Previews 1-4 eingeführt und werden weiterhin in WinUI 3 – Project Reunion 0.5 Preview unterstützt.
- Möglichkeit zum Erstellen von Desktop-Apps mit WinUI, einschließlich .NET für Win32-Apps
- RadialGradientBrush
- TabView-Updates
- Updates für dunkle Designs
- Verbesserungen und Updates für WebView2
- Unterstützung für hohen DPI-Wert
- Unterstützung des Änderns der Größe und Verschiebens von Fenstern
- Aktualisiert für die neuere Version von Edge
- Es ist nicht mehr erforderlich, auf ein WebView2-spezifisches NuGet-Paket zu verweisen.
- SwapChainPanel
- MRT-Kernunterstützung
- Dies macht Apps beim Start schneller und leichter und bietet eine schnellere Ressourcensuche.
- Arm64-Unterstützung
- Ziehen und Ablegen innerhalb und außerhalb von Apps
- RenderTargetBitmap (derzeit nur XAML-Inhalt - kein SwapChainPanel-Inhalt)
- Unterstützung für benutzerdefinierte Cursor
- Hintergrundthread-Eingabe
- Verbesserungen unserer Tools/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
- Benutzerdefinierte Titelleistenfunktionen: neue Window.ExtendsContentIntoTitleBar - und Window.SetTitleBar-APIs , mit denen Entwickler benutzerdefinierte Titelleisten in Desktop-Apps erstellen können.
- VirtualSurfaceImageSource-Unterstützung
Feedback und Vorschläge bereitstellen
Wir freuen uns über Ihr Feedback im WinUI GitHub-Repository.
Einschränkungen und bekannte Probleme
Die WinUI 3 - Project Reunion 0.5 Preview ist genau das, eine Vorschau. Die Szenarien rund um Desktop-Apps sind besonders neu. Bitte erwarten Sie Fehler, Einschränkungen und andere Probleme.
Die folgenden Elemente sind einige der bekannten Probleme mit WinUI 3 – Project Reunion 0.5 Preview. Wenn Sie ein Problem finden, das unten nicht aufgeführt ist, teilen Sie uns bitte mit, indem Sie zu einem vorhandenen Problem beitragen oder ein neues Problem über das WinUI GitHub-Repository einreichen.
Plattform- und Betriebssystemunterstützung
WinUI 3 – Project Reunion 0.5 Preview ist mit PCs kompatibel, auf denen das Windows 10 Oktober 2018 Update (Version 1809 – Build 17763) und neuer ausgeführt wird.
Entwicklertools
- Es werden nur C#- und C++/WinRT-Apps unterstützt.
- Desktop-Apps unterstützen .NET 6 (und höher) und C# 9 und müssen in einer MSIX-App verpackt werden.
- UWP-Apps unterstützen .NET Native und C# 7.3
- Entwicklertools und IntelliSense funktionieren in Visual Studio möglicherweise nicht ordnungsgemäß.
- Keine XAML-Designerunterstützung
- Neue C++/CX-Apps werden jedoch nicht unterstützt, ihre vorhandenen Apps funktionieren weiterhin (bitte wechseln Sie so bald wie möglich zu C++/WinRT).
- Die Unterstützung für mehrere Fenster in Desktop-Apps befindet sich in Entwicklung, ist aber noch nicht fertiggestellt und stabil.
- Bitte geben Sie einen Fehler in unserem Repository ein, wenn Sie neue Probleme oder Regressionen mit Mehrfensterverhalten finden.
- Entpackte Desktopbereitstellung wird nicht unterstützt
- Stellen Sie beim Ausführen einer Desktop-App mit F5 sicher, dass Sie das Verpackungsprojekt ausführen. Beim Drücken von F5 im App-Projekt wird eine entpackte App ausgeführt, die WinUI 3 noch nicht unterstützt.
Fehlende Plattformfunktionen
- Xbox-Support
- HoloLens-Unterstützung
- Fenster-Popups
- Genauer gesagt, verhält sich die
ShouldConstrainToRootBoundsEigenschaft immer so, als ob sie auftruefestgelegt ist, unabhängig vom Eigenschaftswert.
- Genauer gesagt, verhält sich die
- Stiftunterstützung
- Acrylic
- MediaElement und MediaPlayerElement
- MapControl
- RenderTargetBitmap für SwapChainPanel und Nicht-XAML-Inhalte
- SwapChainPanel unterstützt keine Transparenz.
- Global Reveal nutzt Fallbackverhalten, einen einfarbigen Pinsel
- XAML-Inseln werden in dieser Version nicht unterstützt.
- Drittanbieter-Ökosystembibliotheken funktionieren nicht vollständig
- IMEs funktionieren nicht
- CoreWindow, ApplicationView, CoreApplicationView, CoreDispatcher und deren Abhängigkeiten werden in Desktop-Apps nicht unterstützt (siehe unten)
CoreWindow, ApplicationView, CoreApplicationView und CoreDispatcher in Desktop-Apps
Neu in Preview 4 und Standard in Zukunft, CoreWindow, ApplicationView, CoreApplicationViewCoreDispatcher und ihre Abhängigkeiten sind in Desktop-Apps nicht verfügbar. Die Window.Dispatcher-Eigenschaft ist z. B. immer NULL, aber die Window.DispatcherQueue-Eigenschaft kann als Alternative verwendet werden.
Diese APIs funktionieren nur in UWP-Apps. In früheren Vorschauen haben sie auch teilweise in Desktop-Apps gearbeitet, aber in Preview4 wurden sie vollständig deaktiviert. Diese APIs sind für den UWP-Fall konzipiert, in dem nur ein Fenster pro Thread vorhanden ist, und eines der Features von WinUI3 besteht darin, mehrere zu aktivieren.
Es gibt APIs, die intern von der Existenz dieser APIs abhängen, die daher in einer Desktop-App nicht unterstützt werden. Diese APIs weisen in der Regel eine statische GetForCurrentView Methode auf. Beispiel : UIViewSettings.GetForCurrentView.
Weitere Informationen zu betroffenen APIs sowie Problemumgehungen und Ersetzungen für diese APIs finden Sie unter WinRT-API-Änderungen für Desktop-Apps.
Bekannte Probleme
Es gibt ein Problem, das dazu führt, dass UWP-Apps unter Windows 10, Version 1809, nicht gestartet werden. Das Team arbeitet aktiv daran, diesen Fehler für die nächste Vorschauversion zu beheben.
ALT+F4 schließt keine Desktop-App-Fenster.
Das UISettings.ColorValuesChanged-Ereignis und das AccessibilitySettings.HighContrastChanged-Ereignis werden in Desktop-Apps nicht mehr unterstützt. Dies kann zu Problemen führen, wenn Sie sie verwenden, um Änderungen in Windows-Designs zu erkennen.
Diese Version enthält einige experimentelle APIs, die Buildwarnungen auslösen, wenn sie verwendet werden. Diese wurden vom Team nicht gründlich getestet und haben möglicherweise unbekannte Probleme. Bitte geben Sie einen Fehler in unserem Repository ein, wenn Probleme auftreten.
Um eine CompositionCapabilities-Instanz abzurufen, würden Sie "CompositionCapabilites.GetForCurrentView()" aufrufen. Die von diesem Aufruf zurückgegebenen Funktionen sind jedoch nicht von der Ansicht abhängig. Um dies zu adressieren und widerzuspiegeln, haben wir die statische GetForCurrentView() in dieser Version gelöscht, sodass Sie jetzt ein CompositionCapabilties-Objekt direkt erstellen können.
Für C#-UWP-Apps:
Das WinUI 3-Framework ist eine Reihe von WinRT-Komponenten, die von C++ (mit C++/WinRT) oder C# verwendet werden können. Bei Verwendung von C# gibt es je nach App-Modell zwei Versionen von .NET: Bei Verwendung von WinUI in einer UWP-App verwenden Sie .NET Native; bei Verwendung in einer Desktop-App verwenden Sie .NET 6 oder höher (und C#/WinRT).
Bei der Verwendung von C# für eine WinUI-App in UWP gibt es einige API-Namespaceunterschiede im Vergleich zu C# in einer WinUI-Desktop-App oder einer C#WinUI für UWP-App: Einige Typen befinden sich in einem
MicrosoftNamespace und nicht in einemSystemNamespace. DieINotifyPropertyChanged-Schnittstelle befindet sich beispielsweise nicht imSystem.ComponentModel-Namespace, sondern imMicrosoft.UI.Xaml.Data-Namespace.Dies gilt für:
-
INotifyPropertyChanged(und verwandte Typen) INotifyCollectionChangedICommand
Die
SystemNamespaceversionen sind weiterhin vorhanden, können jedoch nicht mit WinUI 3 verwendet werden. Dies bedeutet, dassObservableCollectionas-is in WinUI 3 C#-UWP-Apps nicht funktioniert. Eine Problemumgehung finden Sie im CollectionsInterop-Beispiel in der archivierten Momentaufnahme der XAML-Steuerelementgalerie.-
Momentaufnahme der XAML-Steuerelementgalerie für WinUI 3 Preview
Der winui3preview Branch ist nicht mehr verfügbar, und das Repository der XAML Controls Gallery wurde in microsoft/WinUI-Gallery umbenannt. Die Beispielanwendung, wie sie für WinUI 3 – Project Reunion 0.5 Vorschau vorlag, ist in einem historischen Commit erhalten geblieben. Diese Momentaufnahme spiegelt nicht den aktuellen WinUI 3-Katalog wider.
Um den historischen Snapshot herunterzuladen, klonen Sie das Repository und checken Sie den erhaltenen Commit aus:
git clone https://github.com/microsoft/WinUI-Gallery.git
cd WinUI-Gallery
git checkout 136c81578c6f30750efb268a4a8e2da871f182ef
Windows developer