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.
Generierter Code ist bereit für die Überprüfung, nicht automatisch einsatzbereit. In diesem letzten Schritt üben Sie, einen plausiblen Frameworkfehler zu erkennen, und prüfen Task Tally über die reine Kompilierung hinaus.
Absichtliches Testen des Assistenten
Starten Sie eine neue Konversation mit Ihrem Assistenten, damit Ihr Assistent sich nicht auf die Vorgaben aus früheren Prompts stützt. Fragen:
Add a confirmation dialog before deleting a task from my Windows XAML app.
Show only the using directives and the dialog construction code.
Ein uneingeschränkter Assistent könnte Folgendes zurückgeben:
using Windows.UI.Xaml.Controls;
var dialog = new ContentDialog
{
Title = "Delete task?",
PrimaryButtonText = "Delete",
CloseButtonText = "Cancel"
};
Dies ist ein UWP-Namespace.
ContentDialog auch in WinUI 3 vorhanden, wodurch der Fehler in einer Codeüberprüfung leicht zu verpassen ist.
Für dieses Projekt muss der Namespace folgendes sein:
using Microsoft.UI.Xaml.Controls;
var dialog = new ContentDialog
{
Title = "Delete task?",
PrimaryButtonText = "Delete",
CloseButtonText = "Cancel",
XamlRoot = this.XamlRoot
};
Die Referenz-URL für WinUI 3 ContentDialog enthält microsoft.ui.xaml.controls. Die UWP ContentDialog-Referenz verwendet windows.ui.xaml.controls.
Aus diesem Grund reicht „der Typ in der Windows-Dokumentation existiert“ nicht aus. Überprüfen Sie das Framework, den Namespace, die Version und das App-Modell.
Verwenden einer Frameworküberprüfung für generierten Code
Wenn der Assistent eine Windows-API hinzufügt, überprüfen Sie sie mit den folgenden Fragen:
| Prüfen | Worauf zu achten ist |
|---|---|
| Rahmen | Ist die Dokumentation für WinUI 3 und das Windows App SDK gemeint? |
| Namespace | Verwendet der UI-Code Microsoft.UI.Xaml, nicht Windows.UI.Xaml oder System.Windows? |
| Version | Ist die API in der Windows App SDK Version verfügbar, auf die vom Projekt verwiesen wird? |
| App-Modell | Erfordert die API die Paketidentität, eine App-Funktion oder die Fensterinitialisierung? |
| Threading | Muss der Aufruf im UI-Thread ausgeführt werden? Wird asynchrone Arbeit erwartet? |
| UX (Benutzererfahrung) | Gibt es ein integriertes WinUI-Steuerelement oder -Muster für das Szenario? |
| Accessibility | Verfügt die generierte Benutzeroberfläche über Namen, Bezeichnungen, Tastaturzugriff und sichtbaren Fokus? |
| Beweise | Haben Sie den geänderten Codepfad erstellt, ausgeführt und getestet? |
Bitten Sie den Assistenten, die Lern-URL anzugeben, die seine Auswahl unterstützt, und öffnen Sie dann die URL selbst.
Aufgabenzählung überprüfen
Führen Sie einen endgültigen Überprüfungsdurchlauf aus:
- Löschen Sie die lokalen Daten der App, oder beginnen Sie mit einer neu installierten Installation. Vergewissern Sie sich, dass der Leerzustand angezeigt wird und dass Aufgabe hinzufügen deaktiviert bleibt, wenn ausschließlich Leerzeichen eingegeben werden.
- Fügen Sie mehrere Aufgaben hinzu, markieren Sie einen abgeschlossenen Vorgang, und löschen Sie eine andere. Vergewissern Sie sich, dass die verbleibende Anzahl aktualisiert wird und das richtige Element entfernt wird.
- Starten Sie die App neu. Vergewissern Sie sich, dass Aufgabentitel und Abschlussstatus wiederhergestellt werden.
- Fügen Sie
if (System.Diagnostics.Debugger.IsAttached) throw new IOException("Test save failure.");als erste Zeile inTaskStorage.SaveAsyncein, erstellen Sie die App neu, und führen Sie sie im Debugger aus. Lösen Sie einen Speichervorgang aus und bestätigen Sie, dassInfoBarden Fehler meldet, anstatt einen erfolgreichen Speichervorgang zu melden. Entfernen Sie dann die temporäre Bedingung und erstellen Sie sie anschließend neu. - Navigieren Sie mit Tab und Umschalt+ zu jedem interaktiven Element.
- Verwenden Sie einen Screenreader oder Accessibility Insights for Windows, um Namen, Rollen und die Fokusreihenfolge zu überprüfen.
- Ändern Sie die Größe der App, testen Sie helle, dunkle und Kontrastdesigns, und erstellen Sie für x64 ohne Compiler-, XAML-, Bindungs- oder Analysewarnungen.
Weitere Informationen: Übersicht über Barrierefreiheit und Barrierefreiheitstests.
Verfeinern der Eingabeaufforderung, nicht nur des Codes
Wenn eine Überprüfung fehlschlägt, speichern Sie sowohl die Korrektur als auch den Grund in der nächsten Eingabeaufforderung:
The generated code used Windows.UI.Xaml.Controls, which is the UWP
namespace. This project is WinUI 3. Replace it with the corresponding
Microsoft.UI.Xaml API, verify the API in the Windows App SDK reference,
build the x64 project, and explain why the original namespace was wrong.
Dies gibt dem Assistenten nützliche Nachweise und stärkt die Projektgrenze. Für ein langfristiges Projekt sollten Sie feste Vorgaben wie das Framework, das Paketierungsmodell, die Zielarchitektur und den Build-Befehl in den Anweisungen des Repositorys festhalten, die Ihr Programmierassistent liest.
Nächste Schritte
Sie haben eine kleine WinUI 3-App erstellt und einen Workflow praktiziert, den Sie wiederverwenden können:
Fragen → Erstellen → Entwickeln → Prüfen → Verifizieren → Verfeinern
Weiter mit:
- Erstellen Sie Ihre erste WinUI-App für eine deterministische, codeorientierte Einführung in XAML, Navigation und Dateispeicher.
- Datenbindung, Abhängigkeitsinjektion und Komponententests in WinUI für eine größere MVVM-Architektur.
- WinUI 3 Gallery zum Überprüfen von Steuerelementen und Interaktionsmustern in einem ausgeführten Beispiel.
- Windows App SDK API-Referenz zur Bestätigung der generierten API-Auswahl.
Windows developer