IProvideCustomContentState Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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:
Llamada a AddBackEntry:
Se establece NavigatingCancelEventArgs.Content cuando se genera uno de los siguientes eventos:
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:
Se llama a AddBackEntry para asociar un estado personalizado con el contenido actual.
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.
El contenido anterior se navega a en el historial de navegación hacia delante.
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. |