IProvideCustomContentState Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Implementiert durch eine Klasse, die dem Navigationsverlaufseintrag für Inhalte benutzerdefinierten Zustand hinzufügen muss, bevor der Inhalt entfernt wird.
public interface class IProvideCustomContentState
public interface IProvideCustomContentState
type IProvideCustomContentState = interface
Public Interface IProvideCustomContentState
Hinweise
IProvideCustomContentState ermöglicht es Ihnen, einen benutzerdefinierten Zustand, der als benutzerdefinierte CustomContentState Klasse implementiert ist, dem Navigationsverlaufseintrag für Inhalte zuzuordnen, die wegge navigatet wurden.
Benutzerdefinierter Zustand kann auch auf diese Weise zugeordnet werden, indem Sie Folgendes verwenden:
Aufrufen von AddBackEntry:
Festlegen NavigatingCancelEventArgs.Content , wenn eines der folgenden Ereignisse ausgelöst wird:
Sie müssen implementieren IProvideCustomContentState , wenn Sie einen benutzerdefinierten Zustand zum Navigationsverlauf hinzufügen, indem Sie AddBackEntry aufrufen, andernfalls funktioniert der Navigationsverlauf nicht ordnungsgemäß. Beachten Sie die folgenden Schritte:
AddBackEntry wird aufgerufen, um dem aktuellen Inhalt einen benutzerdefinierten Zustand zuzuordnen.
Der Navigationsverlaufseintrag wird zurück navigiert, und die Replay Methode des benutzerdefinierten Zustands wird aufgerufen, und der Zustand wird auf den Inhalt angewendet.
Der vorherige Inhalt wird im Vorwärtsnavigationsverlauf zu navigieren.
Der Navigationsverlaufseintrag wird zurück navigiert, aber der benutzerdefinierte Zustand wurde seit der letzten Navigationsverlaufseingabe, zu der sie zugeordnet war, nicht beibehalten.
Dies ist das Standardverhalten, da sich der anfangs im benutzerdefinierten Zustand aufgezeichnete Zustand nach dem Hinzufügen zum Navigationsverlauf ändern kann. Wenn das benutzerdefinierte Zustandsobjekt zurück navigiert und sein Zustand angewendet wird, bevor sich ein Aspekt des Zustands ändert, bevor der Eintrag im Navigationsverlauf navigiert wird, kann die Änderung des Zustands nicht im benutzerdefinierten Zustandsobjekt widergespiegelt werden. Darüber hinaus kann nicht explizit aufgerufen werden, um ein neues benutzerdefiniertes Zustandsobjekt hinzuzufügen, AddBackEntry das die Zustandsänderungen widerspiegelt. Um sicherzustellen, dass der aktuelle Zustand für eine bestimmte Navigation immer im Navigationsverlauf gespeichert ist, GetContentState wird aufgerufen.
Important
Wenn Sie Informationen im benutzerdefinierten Inhaltszustand speichern, können Sie keine Verweise auf die Instanz der Seite speichern, für die Sie sich den Zustand merken. Dadurch wird verhindert, dass WPF die Seiteninstanz freigeben und den Zweck des Standardmäßigen Navigationsverlaufsverhaltens besiegt. Wenn Sie dies tun müssen, können Sie stattdessen die Verwendung in Betracht ziehen KeepAlive .
Methoden
| Name | Beschreibung |
|---|---|
| GetContentState() |
Gibt eine Instanz einer benutzerdefinierten Zustandsklasse zurück, die inhalten im Navigationsverlauf zugeordnet werden soll. |