Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Lernprogramm wird die Verwendung von Navigation und Datenbindung in einer WinUI 3-App mit XAML und C# veranschaulicht.
In diesem Tutorial erfahren Sie, wie:
- Aktivieren Sie
NavigationCacheMode, um beim Navigieren dieselbe Instanz einerPagebeizubehalten. - Implementieren Sie die
INotifyPropertyChangedSchnittstelle, um eine Datenbindung darüber zu informieren, dass Daten aktualisiert wurden. - Übergeben Sie Objekte zwischen Seiten, wenn Sie navigieren.
Dieses Tutorial baut auf der Beispiel-App WinUI Notes aus dem Tutorial Erstellen Ihrer ersten WinUI 3-App auf. Wenn Sie dieses Lernprogramm abgeschlossen haben, können Sie mit demselben Code fortfahren. Alternativ können Sie den vollständigen Code für dieses Lernprogramm aus dem GitHub Repository herunterladen und als Ausgangspunkt für dieses Lernprogramm verwenden.
In beiden Fällen sollten Sie mit den vorgestellten Konzepten und dem code vertraut sein, der im Ersten WinUI 3-App-Lernprogramm erstellt wurde.
Tip
Sie können auch den vollständigen Code für dieses Lernprogramm aus dem GitHub Repository in WinUI Notes Teil 2 herunterladen oder anzeigen. Informationen zu den Unterschieden zwischen den Anfangs- und Endpunkten für das Projekt finden Sie unter diesem Commit: Updates für Teil 2.
Background
Um es einfach zu halten und einige grundlegende Konzepte einzuführen, konzentrierte sich das Tutorial Erstellen Ihrer ersten WinUI 3-App eher auf Einfachheit als auf Effizienz. Während die App funktioniert, gibt es einige Dinge, die verbessert werden können.
Das Hauptproblem hat mit der Navigation zwischen den Seiten in der App zu tun. Standardmäßig werden Seiteninstanzen beim Navigieren nicht gespeichert, sodass bei jeder Navigation zu einer Pageneuen Instanz eine neue Instanz erstellt wird. In der WinUI Notes-App wird das notesModel Objekt im AllNotesPage Konstruktor erstellt und durch Lesen aller Notizen aus dem Dateisystem aufgefüllt.
public sealed partial class AllNotesPage : Page
{
private AllNotes notesModel = new AllNotes();
...
}
Jedes Mal, wenn Sie von NotePage zurück zu AllNotesPage navigieren, wird notesModel erneut erstellt und alle Notizen werden erneut aus dem Dateisystem gelesen. Diese Ineffizienz ist in der Regel in einer kleinen Beispiel-App ohne viel Daten nicht erkennbar, aber es wäre inakzeptabel in einer Fotos-App, die Tausende großer Bilder aus dem Dateisystem liest.
Um dieses Problem zu beheben, behandelt dieses Lernprogramm die folgenden Schritte:
- Stellen Sie zunächst sicher, dass die
PageInstanz zwischengespeichert wird, damit sie beim Navigieren wiederverwendet und nicht erneut erstellt wird. - Aktualisieren Sie die
NoteKlasse so, dass gebundene Eigenschaften benachrichtigt werden, wenn Änderungen am Notiztext vorhanden sind. - Stellen Sie sicher, dass die
notesModelAktualisierung ordnungsgemäß mit gespeicherten oder gelöschten Notizen erfolgt, da sie nicht mit jeder Navigation neu erstellt wird.
Tip
Sie verweisen häufig auf API-Referenzdokumente und konzeptionelle Dokumente beim Erstellen von Windows-Apps. In diesem Tutorial werden Links inline im Text und in Gruppen mit der Bezeichnung "Weitere Informationen in der Dokumentation:" angezeigt. Diese Links sind optional; Sie müssen sie nicht befolgen, um das Lernprogramm abzuschließen. Sie werden für den Fall bereitgestellt, dass Sie notieren möchten, wo Sie die Informationen finden, die Sie benötigen, wenn Sie mit der Erstellung Ihrer eigenen Apps beginnen.
Windows developer