Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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)
NavigationCacheModeelemet, hogy navigáláskor ugyanaz a(z)Page-példány maradjon meg. - Implementálja a
INotifyPropertyChangedinterfé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
Pagepé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
notesModelmegfelelő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.
Windows developer