WinUI Notes 2. rész – navigáció és adatkötés

Ez az oktatóanyag bemutatja, hogyan használható a navigáció és az adatkötés egy WinUI 3-alkalmazásokban XAML és C# használatával.

Ebben az oktatóanyagban a következőket sajátíthatja el:

  • Kapcsolja be a(z) NavigationCacheMode elemet, hogy navigáláskor ugyanaz a(z) Page-példány maradjon meg.
  • Implementálja a INotifyPropertyChanged interfészt, hogy jelezze az adatkapcsolat számára, hogy az adatok frissültek.
  • Navigáláskor adjon át objektumokat a lapok között.

Ez az oktatóanyag az első WinUI 3-alkalmazás létrehozása oktatóanyagból fejleszti a WinUI Notes mintaalkalmazást. Ha elvégezte az oktatóanyagot, folytathatja a munkát ugyanazzal a kóddal. Vagy letöltheti az oktatóanyag befejezett kódját a GitHub adattárból, és használhatja az oktatóanyag kiindulópontjaként.

Mindkét esetben ismernie kell a bemutatott fogalmakat és az első WinUI 3-alkalmazás oktatóanyagában létrehozott kódot.

Tip

Az oktatóanyag befejezett kódját a WinUI Notes 2. részében található GitHub adattárból is letöltheti vagy megtekintheti. A projektben a kezdő- és végállapot közötti különbségek megtekintéséhez lásd ezt a commitot: a 2. rész frissítései.

Background

Annak érdekében, hogy a dolgok egyszerűek maradjanak, és alapvető fogalmakat vezessen be, az első WinUI 3-alkalmazás létrehozása oktatóanyag az egyszerűségre és a hatékonyságra összpontosít. Így amíg az alkalmazás működik, van néhány dolog, ami javítható.

A fő probléma az alkalmazás lapjai közötti navigálással kapcsolatos. Alapértelmezés szerint a Page példányai nem kerülnek mentésre navigáláskor, ezért minden alkalommal, amikor egy Page elemre navigál, új példány jön létre. A WinUI Notes alkalmazásban az notesModel objektum a konstruktorban AllNotesPage jön létre, és a fájlrendszer összes jegyzetének olvasásával töltődik fel.

public sealed partial class AllNotesPage : Page
{
    private AllNotes notesModel = new AllNotes();
    ...
}

Valahányszor a NotePage elemről visszanavigál a AllNotesPage elemre, a notesModel újra létrejön, és a rendszer az összes jegyzetet újra beolvassa a fájlrendszerből. Ez a hatékonysághiány általában nem észlelhető egy kis mintaalkalmazásban, sok adat nélkül, de elfogadhatatlan lenne például egy olyan fényképalkalmazásban, amely több ezer nagy képet olvas a fájlrendszerből.

A probléma megoldásához ez az oktatóanyag az alábbi lépéseket ismerteti:

  • Először győződjön meg arról, hogy a Page példány gyorsítótárazott, úgy, hogy navigációkor újra felhasználható legyen, és ne jöjjön létre újra.
  • Frissítse az osztályt Note , hogy a kötött tulajdonságok értesítést kapnak a jegyzet szövegének bármilyen módosításáról.
  • Győződjön meg arról, hogy a notesModel megfelelően frissül a mentett vagy törölt jegyzetekkel, mivel nincs minden navigációkor újra létrehozva.

Tip

Windows-alkalmazások létrehozásakor gyakran hivatkozhat API-referencia-dokumentumokra és fogalmi dokumentumokra. Ebben az oktatóanyagban a szövegben és a "További információ a dokumentumokban" címkével ellátott csoportokban lévő hivatkozások jelennek meg. Ezek a hivatkozások nem kötelezőek; az oktatóanyag elvégzéséhez nem kell követnie őket. Ezek abban az esetben vannak megadva, ha fel szeretné jegyezni, hogy hol találja meg a szükséges információkat, amikor saját alkalmazásokat hoz létre.