Freigeben über


Speichern eines Zustandselements über mehrere Seiteninstanzen

Aktualisiert: November 2007

In diesem Beispiel wird veranschaulicht, wie ein Seitenzustandselement mithilfe einer Abhängigkeitseigenschaft über Seiteninstanzen hinweg gespeichert wird.

In diesem Beispiel soll nur ein bestimmtes Feature von Windows Presentation Foundation veranschaulicht werden, daher werden die bewährten Methoden für die Anwendungsentwicklung nicht befolgt. Ausführliche Informationen über empfohlene Vorgehensweisen bei der Anwendungsentwicklung für Windows Presentation Foundation (WPF) und Microsoft .NET Framework finden Sie unter folgenden Themen:

Eingabehilfen – Bewährte Methoden für Eingabehilfen

Lokalisierung – Übersicht über WPF-Globalisierung und -Lokalisierung

Leistung – Optimieren der WPF-Anwendungsleistung

Sicherheit – Windows Presentation Foundation-Sicherheit

Download sample

Erstellen des Beispiels

  • Installieren Sie das Windows Software Development Kit (SDK) und öffnen Sie dessen Buildumgebungs-Befehlsfenster. Zeigen Sie im Startmenü auf Alle Programme und Microsoft Windows SDK, und klicken Sie dann auf CMD Shell.

  • Laden Sie das Beispiel, normalerweise aus der Software Development Kit (SDK)-Dokumentation, auf Ihre Festplatte herunter.

  • Um das Beispiel über das Buildumgebungs-Befehlsfenster zu erstellen, wechseln Sie zum Quellverzeichnis des Beispiels. Geben Sie an der Eingabeaufforderung MSBUILD ein.

  • Um das Beispiel mit in Microsoft Visual Studio zu erstellen, laden Sie die Projektmappe oder Projektdatei des Beispiels, und drücken Sie STRG+UMSCHALT+B.

Ausführen des Beispiels

  • Um das kompilierte Beispiel über das Buildumgebungs-Befehlsfenster auszuführen, führen Sie die EXE-Datei aus dem Ordner Bin\Debug oder Bin\Release, die unter dem Quellcodeordner des Beispiels enthalten sind, aus.

  • Um das kompilierte Beispiel in Visual Studio mit Debuggen auszuführen, drücken Sie F5.

Hinweise

In der Standardeinstellung speichert Windows Presentation Foundation (WPF) keine Seiteninstanzen im Navigationsverlauf. Stattdessen wird jedes Mal eine neue Instanz einer Seite erstellt, wenn zu dieser navigiert wird. WPF kann Seiteninstanzen im Navigationsverlauf beibehalten. Dies kann jedoch zu einer hohen Speicherauslastung führen.

WPF stellt jedoch eine Infrastruktur bereit, durch die Sie Zustandsinformationen mit dem Eintrag für eine Seite im Navigationsverlauf speichern können. In diesem Fall können Sie mithilfe des gespeicherten Zustands den Zustand der Seite nach dem Instanziieren wiederherstellen.

In diesem Beispiel wird veranschaulicht, wie Sie mit einer Journalabhängigkeitseigenschaft den Seitenzustand mithilfe des Navigationsverlaufs speichern und abrufen. Eine Journalabhängigkeitseigenschaft ist eine Abhängigkeitseigenschaft, die über die folgenden Metadaten verfügt:

Journal

Dieses Verfahren ist am nützlichsten, wenn Sie ein Element eines Seitenzustands über mehrere Seiteninstanzen hinweg speichern müssen. Zum Speichern eines Zustandssatzes über Seiteninstanzen hinweg sollten Sie IProvideCustomContentState verwenden (siehe Speichern eines Zustandssatzes über mehrere Seiteninstanzen). Informationen zum Speichern mehrerer Zustandssätze für eine Seiteninstanz finden Sie unter Speichern mehrerer Zustandssätze pro Seiteninstanz.

Aa972173.alert_caution(de-de,VS.90).gifWichtiger Hinweis:

Wenn Sie Informationen im benutzerdefinierten Inhaltszustand speichern, können Sie keine Verweise auf die Instanz der Seite speichern, für die Sie Zustände speichern. Hierdurch wird verhindert, dass WPF die Seiteninstanz freigibt. Außerdem wird der Vorteil des Standardverhaltens des Navigationsverlaufs zunichte gemacht. Sollte dies dennoch erforderlich sein, sollten Sie stattdessen KeepAlive verwenden.

Siehe auch

Aufgaben

Speichern eines Zustandssatzes über mehrere Seiteninstanzen

Speichern mehrerer Zustandssätze pro Seiteninstanz