Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gegenereerde code is gereed voor beoordeling, niet automatisch gereed voor verzending. In deze laatste stap oefent u met het detecteren van een plausibele frameworkfout en controleert u Task Tally buiten compilatie.
De assistent bewust testen
Start een nieuw gesprek met uw assistent, zodat deze niet afhankelijk is van de beperkingen van eerdere prompts. Stel:
Add a confirmation dialog before deleting a task from my Windows XAML app.
Show only the using directives and the dialog construction code.
Een assistent zonder beperkingen zou het volgende kunnen teruggeven:
using Windows.UI.Xaml.Controls;
var dialog = new ContentDialog
{
Title = "Delete task?",
PrimaryButtonText = "Delete",
CloseButtonText = "Cancel"
};
Dit is een UWP-naamruimte.
ContentDialog bestaat ook in WinUI 3, waardoor de fout gemakkelijk te missen is in een codebeoordeling.
Voor dit project moet de naamruimte het volgende zijn:
using Microsoft.UI.Xaml.Controls;
var dialog = new ContentDialog
{
Title = "Delete task?",
PrimaryButtonText = "Delete",
CloseButtonText = "Cancel",
XamlRoot = this.XamlRoot
};
De WinUI 3 ContentDialog-referentie-URL bevat microsoft.ui.xaml.controls. De UWP ContentDialog-verwijzing maakt gebruik van windows.ui.xaml.controls.
Daarom is 'het type bestaat in Windows documentatie' niet voldoende. Controleer het framework, de naamruimte, de versie en het app-model.
Een frameworkcontrole gebruiken voor gegenereerde code
Wanneer de assistent een Windows-API toevoegt, inspecteert u deze met deze vragen:
| Controle | Waar moet ik naar zoeken? |
|---|---|
| Framework | Is dit de documentatie voor WinUI 3 en de Windows App SDK? |
| Namespace | Gebruikt ui-code Microsoft.UI.Xaml, niet Windows.UI.Xaml of System.Windows? |
| Versie | Is de API beschikbaar in de Windows App SDK versie waarnaar wordt verwezen door het project? |
| Appmodel | Vereist de API pakketidentiteit, app-functionaliteit of venster-initialisatie? |
| Draadbewerking | Moet de aanroep worden uitgevoerd op de UI-thread? Wordt asynchroon werk verwacht? |
| UX | Is er een ingebouwd WinUI-besturingselement of -patroon voor het scenario? |
| Toegankelijkheid | Heeft de gegenereerde gebruikersinterface namen, labels, toetsenbordtoegang en zichtbare focus? |
| Evidence | Hebt u het gewijzigde pad gebouwd, uitgevoerd en getest? |
Vraag de assistent om de Learn-URL op te geven die ondersteuning biedt voor de keuze en open vervolgens zelf de URL.
Taaktelling controleren
Voer een laatste verificatiepas uit:
- Verwijder de lokale gegevens van de app of begin met een nieuwe installatie. Controleer of de lege status wordt weergegeven en dat het invoeren van alleen spaties de taak Toevoegen uitgeschakeld houdt.
- Voeg verschillende taken toe, markeer de ene voltooid en verwijder een andere. Controleer of het resterende aantal wordt bijgewerkt en of het juiste item wordt verwijderd.
- Start de app opnieuw op. Controleer of taaktitels en voltooiingsstatussen zijn hersteld.
- Voeg
if (System.Diagnostics.Debugger.IsAttached) throw new IOException("Test save failure.");toe als de eerste regel vanTaskStorage.SaveAsync, bouw de app opnieuw op en voer deze uit in het foutopsporingsprogramma. Start een opslag en bevestig dat deInfoBarde mislukking meldt in plaats van een succesvolle opslag. Verwijder vervolgens de tijdelijke voorwaarde en bouw opnieuw. - Navigeer door elk interactief element met Tab en Shift+Tab.
- Gebruik een schermlezer of toegankelijkheidsinzichten voor Windows om namen, rollen en focusvolgorde te controleren.
- Wijzig het formaat van de app, test licht, donker en contrastthema's en bouw voor x64 zonder compiler-, XAML-, bindings- of analysewaarschuwingen.
Meer informatie: Toegankelijkheidsoverzicht en Toegankelijkheidstests.
Verfijn de prompt, niet alleen de code
Als een controle mislukt, slaat u zowel de correctie als de reden op in de volgende prompt:
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.
Dit geeft de assistent nuttige bewijzen en versterkt de projectgrens. Voor een langer levend project plaatst u stabiele beperkingen zoals het framework, het pakketmodel, de doelarchitectuur en de buildopdracht in de instructies van de opslagplaats die uw coderingsassistent leest.
Volgende stappen
U hebt een kleine WinUI 3-app gemaakt en een werkstroom gebruikt die u opnieuw kunt gebruiken:
Vragen → Genereren → Bouwen → Inspecteren → Verifiëren → Verfijnen
Ga door met:
- Maak uw eerste WinUI-app voor een deterministische, codegerichte inleiding tot XAML, navigatie en bestandsopslag.
- Gegevensbinding, afhankelijkheidsinjectie en eenheidstests in WinUI voor een grotere MVVM-architectuur.
- WinUI 3 Gallery om besturingselementen en interactiepatronen in een actief voorbeeld te controleren.
- Windows App SDK API-verwijzing om gegenereerde API-keuzes te bevestigen.
Windows developer