Sdílet prostřednictvím


IProvideCustomContentState Rozhraní

Definice

Implementuje třída, která musí přidat vlastní stav do položky historie navigace pro obsah před tím, než se obsah odpojí.

public interface class IProvideCustomContentState
public interface IProvideCustomContentState
type IProvideCustomContentState = interface
Public Interface IProvideCustomContentState

Poznámky

IProvideCustomContentState umožňuje přidružit kus vlastního stavu, implementovaný jako vlastní CustomContentState třídu, s položkou historie navigace pro obsah, který byl odešel.

Vlastní stav lze také tímto způsobem přidružit pomocí následujícího:

Při přidávání vlastního stavu do historie navigace je nutné implementovat IProvideCustomContentState voláním addBackEntry, jinak historie navigace nebude fungovat správně. Zvažte následující kroky:

  1. AddBackEntry je volána pro přidružení vlastního stavu k aktuálnímu obsahu.

  2. Položka historie navigace se vrátí zpět a Replay volá se metoda vlastního stavu a stav se použije na obsah.

  3. Předchozí obsah se přechází do historie navigace vpřed.

  4. Položka historie navigace se vrátí zpět, ale vlastní stav se od posledního přechodu na položku historie navigace, ke které byla přidružena, nezachovala.

Toto je výchozí chování, protože stav, který je původně zaznamenán ve vlastním stavu, se může po přidání do historie navigace změnit. Pokud je objekt vlastního stavu přecháděný zpět na objekt stavu a jeho stav se použije, před přechodem do položky v historii navigace se změna stavu neprojeví v objektu vlastního stavu. Navíc AddBackEntry není možné explicitně volat přidání nového vlastního objektu stavu, který odráží změny stavu. Proto se volá aktuální stav konkrétní navigace vždy v historii GetContentState navigace.

Důležité

Při ukládání informací ve stavu vlastního obsahu nelze uložit žádné odkazy na instanci stránky, pro kterou si pamatujete stav. Tím zabráníte wpF uvolnit instanci stránky a porazit účel výchozího chování historie navigace. Pokud to musíte udělat, můžete místo toho zvážit použití KeepAlive .

Metody

GetContentState()

Vrátí instanci vlastní třídy stavu, která má být přidružena k obsahu v historii navigace.

Platí pro