IProvideCustomContentState Interface

Définition

Implémenté par une classe qui doit ajouter un état personnalisé à l'entrée de l'historique de navigation pour le contenu avant que ce dernier ne soit quitté.

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

Remarques

IProvideCustomContentState vous permet d’associer un élément d’état personnalisé, implémenté en tant que classe personnalisée CustomContentState , à l’entrée d’historique de navigation pour le contenu qui a été déplacé.

L’état personnalisé peut également être associé de cette façon à l’aide des éléments suivants :

Vous devez implémenter IProvideCustomContentState lorsque vous ajoutez un état personnalisé à l’historique de navigation en appelant AddBackEntry. Sinon, l’historique de navigation ne fonctionnera pas correctement. Procédez comme suit :

  1. AddBackEntry est appelé pour associer un état personnalisé au contenu actuel.

  2. L’entrée d’historique de navigation est retournée vers, la Replay méthode de l’état personnalisé est appelée et l’état est appliqué au contenu.

  3. Le contenu précédent est accédé dans l’historique de navigation avant.

  4. L’entrée de l’historique de navigation est retournée vers, mais l’état personnalisé n’a pas été conservé depuis la dernière fois où l’entrée d’historique de navigation à laquelle elle a été associée a été accédée.

Il s’agit du comportement par défaut, car l’état initialement enregistré dans l’état personnalisé peut changer après son ajout à l’historique de navigation. Si l’objet d’état personnalisé est redirigé vers et que son état est appliqué, avant qu’un aspect des modifications d’état ne soit utilisé avant que l’entrée de l’historique de navigation ne soit parcourue, le changement d’état ne peut pas être reflété dans l’objet d’état personnalisé. En outre, AddBackEntry ne peut pas être appelé explicitement pour ajouter un nouvel objet d’état personnalisé qui reflète les changements d’état. Par conséquent, pour garantir que l’état actuel d’une navigation particulière est toujours stocké dans l’historique de navigation, GetContentState est appelé.

Important

Lorsque vous stockez des informations dans un état de contenu personnalisé, vous ne pouvez pas stocker de références à l’instance de la page pour laquelle vous vous souvenez de l’état. Cela empêche WPF de libérer l’instance de page et contrevient à l’objectif du comportement de l’historique de navigation par défaut. Si vous devez effectuer cette opération, vous pouvez envisager d’utiliser KeepAlive à la place.

Méthodes

GetContentState()

Retourne une instance d'une classe d'état personnalisé à associer au contenu inclus dans l'historique de navigation.

S’applique à