IProvideCustomContentState Interfaz

Definición

Implementado por una clase que necesita agregar un estado personalizado a la entrada del historial de navegación para el contenido antes de que el contenido se salga de él.

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

Comentarios

IProvideCustomContentState permite asociar un fragmento de estado personalizado, implementado como una clase personalizada CustomContentState , con la entrada del historial de navegación para el contenido desde el que se ha navegado.

El estado personalizado también se puede asociar de esta manera mediante lo siguiente:

Debe implementar IProvideCustomContentState cuando agregue el estado personalizado al historial de navegación llamando a AddBackEntry; de lo contrario, el historial de navegación no funcionará correctamente; tenga en cuenta los pasos siguientes:

  1. Se llama a AddBackEntry para asociar un estado personalizado con el contenido actual.

  2. La entrada del historial de navegación se vuelve a navegar y se llama al Replay método del estado personalizado y el estado se aplica al contenido.

  3. El contenido anterior se navega a en el historial de navegación hacia delante.

  4. La entrada del historial de navegación se vuelve a navegar, pero el estado personalizado no se ha conservado desde la última vez que se ha navegado a la entrada del historial de navegación a la que estaba asociada.

Este es el comportamiento predeterminado porque el estado que se registra inicialmente en estado personalizado puede cambiar después de agregarlo al historial de navegación. Si se vuelve al objeto de estado personalizado y se aplica su estado, antes de que se aplique algún aspecto sobre los cambios de estado antes de que se navegue la entrada en el historial de navegación, el cambio en estado no se puede reflejar en el objeto de estado personalizado. Además, AddBackEntry no se puede llamar explícitamente para agregar un nuevo objeto de estado personalizado que refleje los cambios de estado. Por lo tanto, para asegurarse de que el estado actual de una navegación determinada siempre se almacena en el historial de navegación, GetContentState se llama a .

Importante

Al almacenar información en estado de contenido personalizado, no se pueden almacenar referencias a la instancia de la página para la que se recuerda el estado. Esto impide que WPF libere la instancia de página y derrota el propósito del comportamiento predeterminado del historial de navegación. Si debe hacerlo, puede considerar la posibilidad de usar KeepAlive en su lugar.

Métodos

Nombre Description
GetContentState()

Devuelve una instancia de una clase de estado personalizada que se va a asociar al contenido del historial de navegación.

Se aplica a