Definiowanie aplikacji i pisanie pierwszego monitu

Przydatny pierwszy monit identyfikuje technologię, zachowanie aplikacji, ograniczenia i dowody, które pokażą ukończenie pracy. Zmniejsza to prawdopodobieństwo, że asystent wybierze znajomą, ale niepoprawną platformę Windows.

Rozpocznij od kryteriów akceptacji

Przed prośbą o kod zdefiniuj oczekiwane elementy:

  1. Projekt kompiluje się dla platformy x64 bez błędów ani ostrzeżeń.
  2. Aplikacja używa interfejsu WinUI 3 i Microsoft.UI.Xaml, a nie platformy UWP i Windows.UI.Xaml.
  3. Użytkownik może dodawać, wykonywać i usuwać zadanie.
  4. Zadania pozostają po ponownym uruchomieniu aplikacji.
  5. Każde dane wejściowe i polecenie ma dostępną nazwę.
  6. Polecenia pozostają dostępne, gdy okno jest wąskie.
  7. Asystent wyjaśnia wszelkie interfejsy API wymagające tożsamości pakietu lub inicjalizacji okna.

Te kryteria przekształcają ogólne żądanie w zestaw sprawdzeń, które ty i asystent możecie wykonać.

Nadaj asystentowi trwałe ograniczenia

Otwórz folder, w którym zachowasz projekty programistyczne, uruchom asystenta kodowania sztucznej inteligencji i użyj następującego monitu:

Create a C# WinUI 3 desktop app named TaskTally.

Technology constraints:
- Use WinUI 3 and the current stable Windows App SDK.
- Use Microsoft.UI.Xaml namespaces. Don't use UWP, Windows.UI.Xaml,
  WPF, Windows Forms, .NET MAUI, or third-party UI controls.
- Create a packaged app and build for x64.
- Start from the dotnet new winui-mvvm template.
- Use CommunityToolkit.Mvvm for observable properties and commands.

App requirements:
- Show a single-page task list.
- Let the user add, complete, and delete tasks.
- Save tasks as JSON in the app's local storage.
- Use ListView for the collection and InfoBar for save status.
- Include an empty state, keyboard access, accessible names, and a
  layout that works at narrow window widths.

Working agreement:
- First show your implementation plan and the files you will change.
- Make one small, buildable change at a time.
- Build after each change and fix errors before continuing.
- Explain which Learn documentation supports any Windows API choice.
- Don't suppress warnings or replace packaged deployment with an
  unpackaged workaround.

Ostatnia sekcja ma znaczenie. Prosi asystenta o ujawnienie swoich założeń i przedstawienie punktów kontrolnych, które są łatwiejsze do sprawdzenia.

Sprawdzanie proponowanego planu

Przed zatwierdzeniem edycji sprawdź, czy plan obejmuje:

  • Model dla jednego zadania.
  • Model widoku z obserwowalną kolekcją i poleceniami.
  • Usługa magazynu.
  • Kod XAML dla strony.
  • Niewielka ilość kodu dla zdarzeń specyficznych dla widoku, w razie potrzeby.
  • Kroki kompilacji i uruchamiania dla spakietowanej aplikacji WinUI.

Poproś asystenta o zrewidowanie swojego planu, jeśli zaproponuje bazę danych, wstrzykiwanie zależności, wiele stron lub niestandardowe kontrolki. Te opcje mogą być prawidłowe w większej aplikacji, ale dodają pojęcia, których ta aplikacja dla początkujących nie potrzebuje.

Tworzenie projektu

Asystent powinien uruchamiać polecenia równoważne:

dotnet new winui-mvvm -n TaskTally
cd TaskTally
dotnet build -p:Platform=x64

Jeśli używasz Visual Studio, możesz zamiast tego utworzyć spakowany projekt WinUI języka C# i dodać zestaw narzędzi MVVM Toolkit. Zachowaj nazwę projektu TaskTally, aby przestrzenie nazw w tym samouczku były zgodne.

Note

Aplikacja WinUI w pakiecie musi zostać wdrożona wraz z tożsamością pakietu. Użyj Visual Studio dotnet run z obsługiwanymi szablonami WinUI lub interfejsem winapp wiersza polecenia. Nie uruchamiaj wygenerowanego .exe bezpośrednio.

Sprawdzanie wygenerowanego projektu

Zapytać:

Explain the purpose of App.xaml, MainWindow.xaml, MainPage.xaml,
Package.appxmanifest, and TaskTally.csproj. For each file, identify
the WinUI 3 or Windows App SDK setting that proves this isn't a UWP,
WPF, or MAUI project.

Zweryfikuj sobie wyjaśnienie:

  • Plik projektu zawiera <UseWinUI>true</UseWinUI>.
  • Projekt odwołuje się do Microsoft.WindowsAppSDK.
  • Kod XAML wykorzystuje typy Microsoft.UI.Xaml w języku C#.
  • Package.appxmanifest określa identyfikator pakietu.
  • Platforma docelowa obejmuje system Windows, na przykład net10.0-windows10.0.26100.0.

Skompiluj niezmieniony szablon przed dodaniem funkcji. Jeśli wersja bazowa nie daje się zbudować, napraw problem ze środowiskiem lub z tworzeniem projektu, zanim poprosisz asystenta o wygenerowanie kolejnego kodu.