Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här självstudieserien visar hur du implementerar databindning, beroendeinmatning och enhetstestning med MVVM-designmönstret (Model-View-ViewModel) och MVVM Toolkit i en WinUI 3-app. Den bygger på självstudien Skapa en WinUI-app och visar hur du uppdaterar dina vymodeller för att utnyttja MVVM Toolkit och skillnaderna mellan MVVM Toolkit och traditionella MVVM-metoder.
Du kan ladda ned eller visa koden för den här självstudien från GitHub-lagringsplatsen.
I den här tutorialen lär du dig följande:
- Förstå skillnaderna mellan MVVM Toolkit och traditionella MVVM-metoder.
- Skapa ett separat klassbiblioteksprojekt för att lagra ViewModels och tjänster för bättre testbarhet.
- Implementera databindning i WinUI-appen med hjälp av MVVM Toolkit.
- Lägg till vy-modellerna
AllNotesViewModelochNoteViewModelför att utnyttja MVVM Toolkit. - Integrera beroendeinmatning för att hantera ViewModels och tjänster.
- Skapa ett enhetstestprojekt för att testa dina ViewModels och tjänster.
Förutsättningar
För att slutföra den här självstudien, finns följande förhandskrav:
- Visual Studio 2022 (version 17.14 eller senare) eller Visual Studio 2026 med arbetsbelastningen WinUI-programutveckling installerad.
- Ett startprojekt som skapats genom att följa stegen i självstudien Skapa en WinUI-app . Om du redan är bekant med handledningen kan du ladda ner koden här för att komma igång från GitHub-lagringsplatsen.
Vad är MVVM Toolkit?
MVVM Toolkit är ett modernt, enkelt och snabbt bibliotek som hjälper dig att implementera MVVM-designmönstret i dina .NET-program. Det är en del av .NET Community Toolkit och innehåller en uppsättning verktyg och verktyg för att förenkla utvecklingen av MVVM-baserade program. MVVM Toolkit innehåller funktioner som:
-
ObservableObject: En basklass som implementerar
INotifyPropertyChangedgränssnittet, så att du kan skapa vymodeller som meddelar vyn om egenskapsändringar. - RelayCommand: En kommandoimplementering som gör att du kan binda användargränssnittsåtgärder till metoder i din vymodell.
- Messenger: Ett meddelandesystem som möjliggör kommunikation mellan olika delar av programmet utan nära koppling.
- Attribut: En uppsättning attribut som du kan använda för att generera exempelkod, till exempel meddelanden om egenskapsändring och kommandoimplementeringar.
- Källgeneratorer: Kodgenerering vid kompilering som minskar standardkod och förbättrar prestanda.
- Stöd för beroendeinmatning: Inbyggt stöd för beroendeinmatning för att hantera livscykeln för visningsmodeller och tjänster.
MVVM Toolkit är utformat för att vara enkelt att använda och integrera i dina befintliga projekt. Den är kompatibel med olika .NET-plattformar, inklusive WinUI, WPF och .NET MAUI. Du kan kolla in några exempelappar på GitHub-lagringsplatsen eller exempelappen i Microsoft Store för att se hur MVVM Toolkit kan användas i olika scenarier.
Hur skiljer sig MVVM Toolkit från traditionella MVVM-metoder?
MVVM Toolkit minskar mängden standardkod för ViewModels och förenklar många aspekter av att implementera MVVM-designmönster jämfört med traditionella metoder. Här är några viktiga skillnader:
| Feature | Traditionell MVVM-metod | MVVM Toolkit-metod |
|---|---|---|
| Meddelande om fastighetsändring | Implementera INotifyPropertyChanged manuellt i en basklass och skapa PropertyChanged händelser för varje egenskap. |
Ärva från ObservableObject och använd SetProperty metoden för att automatiskt generera PropertyChanged händelser. |
| Kommandoimplementering | Implementera ICommand manuellt för varje kommando. |
Använd RelayCommand för att enkelt skapa kommandon med minimal standardkod. |
| Messaging | Implementera anpassade meddelandesystem eller använd bibliotek från tredje part. | Använd den inbyggda Messenger klassen för frikopplad kommunikation mellan komponenter. |
| Pannplåtskod | Skriv repetitiv kod för meddelanden om egenskapsändringar och kommandoimplementeringar. | Använd attribut och källgeneratorer för att minska exempelkoden. |
| Performance | Kan ha prestandaöverliggande kostnader på grund av reflexion och runtime-kodgenerering. | Källgeneratorer ger kompileringstidskodgenerering, vilket förbättrar prestandan. |
| Stöd för beroendeinjektion | Kräver manuell installation och hantering av visningsmodelllivscykler. | Inbyggt stöd för beroendeinmatning för att hantera visningsmodelllivscykler. |
| Inlärningskurva | Kan kräva en djupare förståelse av MVVM-begrepp och MVVM-mönster. | Enklare att lära sig och använda med fokus på enkelhet och produktivitet. |
Mer bakgrund om MVVM-designmönstret finns i Windows-databindning och MVVM, Model-View-ViewModel (MVVM) och referensdokumentationen för INotifyPropertyChanged Interface.
WinUI Notes-appen
Det sista programmet som du skapar i den här självstudien är en omstrukturerad version av WinUI Notes-appen från självstudien Skapa en WinUI-app . Med appen kan användarna skapa, spara och läsa in flera anteckningar. Användargränssnittet för den ursprungliga appen förblir detsamma, men den uppdaterade arkitekturen använder MVVM Toolkit för databindning och visningsmodellhantering.
AllNotesPage
NotePage
Tips/Råd
När du skapar Windows-appar refererar du ofta till API-referensdokument och konceptuella dokument. I den här självstudien visas länkar infogade i texten och i grupper märkta "Läs mer i dokumenten:". Dessa länkar är valfria. du behöver inte följa dem för att slutföra självstudien. De tillhandahålls om du vill anteckna var du hittar den information du behöver när du börjar skapa dina egna appar.
Windows developer