IProvideCustomContentState Interfaccia

Definizione

Implementato da una classe quando è necessaria l'aggiunta di uno stato personalizzato alla voce della cronologia di navigazione per il contenuto prima di navigare dal contenuto.

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

Commenti

IProvideCustomContentState consente di associare una parte di stato personalizzato, implementata come classe personalizzata CustomContentState , alla voce della cronologia di navigazione per il contenuto da cui è stato eseguito lo spostamento.

Lo stato personalizzato può anche essere associato in questo modo usando quanto segue:

È necessario implementare IProvideCustomContentState quando si aggiunge uno stato personalizzato alla cronologia di navigazione chiamando AddBackEntry; in caso contrario, la cronologia di spostamento non funzionerà correttamente. Considerare i passaggi seguenti:

  1. AddBackEntry viene chiamato per associare uno stato personalizzato al contenuto corrente.

  2. La voce della cronologia di navigazione viene visualizzata di nuovo e viene chiamato il Replay metodo dello stato personalizzato e lo stato viene applicato al contenuto.

  3. Il contenuto precedente viene spostato su nella cronologia di spostamento in avanti.

  4. La voce della cronologia di spostamento viene spostata di nuovo a, ma lo stato personalizzato non è stato mantenuto dall'ultima volta in cui è stata individuata la voce della cronologia di navigazione a cui è stata associata la navigazione.

Si tratta del comportamento predefinito perché lo stato inizialmente registrato nello stato personalizzato può cambiare dopo l'aggiunta alla cronologia di navigazione. Se l'oggetto di stato personalizzato viene spostato di nuovo a e il relativo stato viene applicato, prima di alcuni aspetti sulle modifiche dello stato prima che venga spostata la voce nella cronologia di navigazione, la modifica dello stato non può essere riflessa nell'oggetto stato personalizzato. Inoltre, AddBackEntry non può essere chiamato in modo esplicito per aggiungere un nuovo oggetto di stato personalizzato che riflette le modifiche dello stato. Di conseguenza, per garantire che lo stato corrente per una particolare navigazione venga sempre archiviato nella cronologia di navigazione, GetContentState viene chiamato .

Importante

Quando si archiviano informazioni nello stato del contenuto personalizzato, non è possibile archiviare riferimenti all'istanza della pagina per cui si sta memorizzando lo stato. Ciò impedisce a WPF di rilasciare l'istanza della pagina e sconfigge lo scopo del comportamento predefinito della cronologia di spostamento. Se è necessario eseguire questa operazione, è consigliabile usare KeepAlive invece .

Metodi

GetContentState()

Restituisce un'istanza di una classe di stato personalizzata da associare al contenuto nella cronologia di navigazione.

Si applica a