Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze zelfstudie ziet u hoe u navigatie en gegevensbinding gebruikt in een WinUI 3-app met behulp van XAML en C#.
In deze handleiding leer je hoe je:
- Schakel
NavigationCacheModein om hetzelfde exemplaar van eenPagete behouden bij het navigeren. - Implementeer de
INotifyPropertyChangedinterface om een gegevensbinding te laten weten dat de gegevens zijn bijgewerkt. - Objecten doorgeven tussen pagina's tijdens het navigeren.
Deze zelfstudie verbetert de WinUI Notes-voorbeeld-app uit de zelfstudie Uw eerste WinUI 3-app maken . Als u deze zelfstudie hebt voltooid, kunt u doorgaan met dezelfde code. U kunt ook de voltooide code voor die zelfstudie downloaden uit de GitHub opslagplaats en deze gebruiken als uitgangspunt voor deze zelfstudie.
In beide gevallen moet u bekend zijn met concepten die worden gepresenteerd en de code die is gemaakt in de zelfstudie Uw eerste WinUI 3-app maken .
Tip
U kunt de voltooide code voor deze zelfstudie ook downloaden of bekijken vanuit de GitHub opslagplaats op WinUI Notes deel 2. Als u de verschillen tussen het start- en eindpunt van het project wilt zien, bekijkt u deze commit: updates voor deel 2.
Background
Om dingen eenvoudig te houden en enkele basisconcepten te introduceren, is de zelfstudie Uw eerste WinUI 3-app maken gericht op eenvoud ten opzichte van efficiëntie. Dus terwijl de app werkt, zijn er enkele dingen die kunnen worden verbeterd.
Het belangrijkste probleem heeft te maken met navigeren tussen pagina's in de app.
Pagina-exemplaren worden standaard niet opgeslagen tijdens het navigeren, dus telkens wanneer u naar een Pageexemplaar navigeert, wordt er een nieuw exemplaar gemaakt. In de WinUI Notes-app wordt het notesModel object gemaakt in de AllNotesPage constructor en wordt het ingevuld door alle notities uit het bestandssysteem te lezen.
public sealed partial class AllNotesPage : Page
{
private AllNotes notesModel = new AllNotes();
...
}
Telkens wanneer u van NotePage terug naar AllNotesPage navigeert, wordt notesModel opnieuw aangemaakt en worden alle notities opnieuw uit het bestandssysteem gelezen. Deze inefficiëntie is meestal niet merkbaar in een kleine voorbeeld-app zonder veel gegevens, maar het zou onacceptabel zijn in bijvoorbeeld een app met foto's die duizenden grote afbeeldingen uit het bestandssysteem heeft gelezen.
Deze zelfstudie behandelt deze stappen om dit probleem op te lossen:
- Zorg er eerst voor dat de
Pageinstantie wordt gecachet, zodat er bij navigatie opnieuw gebruik van wordt gemaakt en deze niet opnieuw wordt aangemaakt. - Werk de
Noteklasse bij zodat gebonden eigenschappen op de hoogte worden gebracht wanneer de tekst van de notitie verandert. - Zorg ervoor dat de
notesModelnotities correct worden bijgewerkt met opgeslagen of verwijderde notities, omdat deze niet opnieuw worden gemaakt met elke navigatie.
Tip
U verwijst regelmatig naar API-referentiedocumenten en conceptuele documenten tijdens het bouwen van Windows-apps. In deze zelfstudie ziet u koppelingen inline in de tekst en in groepen met het label 'Meer informatie in de documenten:'. Deze koppelingen zijn optioneel; u hoeft deze niet te volgen om de zelfstudie te voltooien. Ze worden verstrekt als u wilt weten waar u de informatie kunt vinden die u nodig hebt wanneer u uw eigen apps gaat maken.
Windows developer