Share via


IProvideCustomContentState Interfaz

Definición

Interfaz implementada por una clase que debe agregar el estado personalizado a la entrada del historial de navegación del contenido antes de que se navegue fuera del contenido.

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 desplazado.

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

Debe implementar IProvideCustomContentState al agregar el estado personalizado al historial de navegación mediante una llamada 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 devuelve 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 a la entrada en el historial de navegación, el cambio de 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

Cuando se almacena información en el 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 anula el propósito del comportamiento predeterminado del historial de navegación. Si debe hacerlo, podría considerar la posibilidad de usar KeepAlive en su lugar.

Métodos

GetContentState()

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

Se aplica a