2016-05-16 4 views
2

Ich halte alle ViewModel im IOC. und die Seite wird neu geladen und das Verlassen der Seite erstellt eine neue Instanz und alles ist leer, zuerst dachte ich, dass vielleicht auch die Seite, die ich in einem Container behalten muss, aber dann bemerkte, dass zum Beispiel ListView auf der Seite ist, obwohl die Seite neu geladen wird, ist es ein Singleton? Die Frage ist, wo das Problem liegt, in meinen benutzerdefinierten Elementen und Kontrolle, dass sie keine Singletons sind oder dass die Seite jedes Mal neu geladen wird?Wie bekommen Sie die Kontrolle/Ansicht oder die Seite wird nicht gereinigt XAML?

+0

Bitte beschreiben Sie Ihre Frage gut und fügen Sie auch einen Referenzcode hinzu. – ViVi

Antwort

2

Die Idee dahinter ist sehr einfach. Die Daten werden nicht auf der Seite gespeichert, da beim Navigieren zu der Seite eine neue Instanz der Seite erstellt wird.

Sie können dies tun, indem Sie eine statische Instanz der Seite pflegen. dh die Seite wird nur beim ersten Start der Anwendung erstellt. Beim nächsten Laden der Seite wird der Status beibehalten.

Wenn Sie ein Prisma verwenden, gehen Sie zur Hauptansicht, die die Navigation/Kachelnavigation behandelt. In diesem wird für jeden Bildschirm ein neues Objekt erstellt. Wenn Sie eine statische Instanz jeder Ansicht in der Hauptansicht erstellen, können wir sicherstellen, dass die Daten nicht verloren gehen, da die statische Instanz nur einmal in der gesamten Anwendung erstellt wird.

Hoffe, du hast den Punkt verstanden. Umkehren, wenn noch Zweifel bestehen.

+0

Ich habe benutzerdefinierte Steuerung und ListView auf der Seite.Wenn das Neuladen der Seite normal ist, dann ist das Problem in der Bindung? – bleggleb

+0

Das heißt, die Seite selbst zeigt nichts an – bleggleb

+0

ListView ist ein Singleton? wenn es nicht richtig gereinigt oder Korrekt gemacht Bindungen? – bleggleb

Verwandte Themen