IProvideCustomContentState Rozhraní
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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:
Volání AddBackEntry:
Nastavení NavigatingCancelEventArgs.Content při vyvolání jedné z následujících událostí:
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:
AddBackEntry je volána pro přidružení vlastního stavu k aktuálnímu obsahu.
Položka historie navigace se vrátí zpět a Replay volá se metoda vlastního stavu a stav se použije na obsah.
Předchozí obsah se přechází do historie navigace vpřed.
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. |