Poznámky WinUI – část 2 – navigace a datová vazba

V tomto kurzu se dozvíte, jak používat navigační a datovou vazbu v aplikaci WinUI 3 pomocí XAML a C#.

V tomto návodu se naučíte, jak:

  • Povolte NavigationCacheMode, aby se při navigaci zachovala stejná instance Page.
  • Implementujte rozhraní INotifyPropertyChanged, aby datová vazba věděla, že data byla aktualizována.
  • Při navigaci předejte objekty mezi stránkami.

Tento kurz vylepšuje ukázkovou aplikaci WinUI Notes z kurzu k vytvoření aplikace poznámek WinUI 3 . Pokud jste tento kurz dokončili, můžete pokračovat v práci se stejným kódem. Nebo si můžete stáhnout dokončený kód pro tento kurz z GitHub úložiště a použít ho jako výchozí bod pro tento kurz.

V obou případech byste měli znát koncepty představené a kód vytvořený v kurzu Vytvoření aplikace Poznámky ve WinUI 3.

Tip

Dokončený kód pro tento kurz si také můžete stáhnout nebo zobrazit z úložiště GitHub v poznámkách WinUI část 2. Pokud chcete zobrazit rozdíly mezi počátečním a koncovými body projektu, podívejte se na toto potvrzení: aktualizace pro část 2.

Background

Aby byly věci jednoduché a představily některé základní koncepty, kurz k vytvoření aplikace s poznámkami WinUI 3 se zaměřuje na jednoduchost nad efektivitou. Takže zatímco aplikace funguje, je několik věcí, které je možné vylepšit.

Klíčovým problémem je navigace mezi stránkami v aplikaci. Ve výchozím nastavení se instance stránky při navigaci neukládají, takže pokaždé, když přejdete na , Pagevytvoří se nová instance. V aplikaci notesModel WinUI Notes se objekt vytvoří v konstruktoru AllNotesPage a naplní se čtením všech poznámek ze systému souborů.

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

Pokaždé, když se vrátíte z NotePage zpět do AllNotesPage, se notesModel znovu vytvoří a všechny poznámky jsou znovu načteny ze souborového systému. Tato neefektivita obvykle není patrná v malé ukázkové aplikaci bez velkého množství dat, ale bylo by nepřijatelné například v aplikaci pro fotky, která četla tisíce velkých obrázků ze systému souborů.

Tento problém vyřešíte tímto postupem:

  • Nejprve se ujistěte, že Page je instance uložená v mezipaměti, aby se při navigaci znovu používala a znovu nevytvořila.
  • Note Aktualizujte třídu tak, aby vázané vlastnosti byly upozorněny, když dojde k nějakým změnám textu poznámky.
  • Ujistěte se, že se notesModel správně aktualizuje podle uložených nebo odstraněných poznámek, protože se při každém přechodu znovu nevytváří.

Tip

Při vytváření aplikací pro Windows často odkazujete na referenční dokumenty k rozhraní API a koncepční dokumenty. V tomto kurzu uvidíte odkazy v textu a ve skupinách označených jako "Další informace v dokumentaci:". Tyto odkazy jsou volitelné, k dokončení kurzu je nemusíte sledovat. Jsou k dispozici v případě, že si chcete poznamenat, kde najdete informace, které budete potřebovat, když začnete vytvářet vlastní aplikace.