CustomContentState Clase

Definición

CustomContentState habilita la posibilidad de navegar por los distintos estados de una sola parte del contenido de origen sin volverlo a cargar en las navegaciones posteriores.

public ref class CustomContentState abstract
[System.Serializable]
public abstract class CustomContentState
public abstract class CustomContentState
[<System.Serializable>]
type CustomContentState = class
type CustomContentState = class
Public MustInherit Class CustomContentState
Herencia
CustomContentState
Atributos

Ejemplos

A continuación se muestra un ejemplo de una CustomContentState implementación que invalida JournalEntryName.

using System;
using System.Windows.Controls;
using System.Windows.Navigation;
[Serializable]
public class MyCustomContentState : CustomContentState
{
    string dateCreated;
    TextBlock dateTextBlock;

    public MyCustomContentState(string dateCreated, TextBlock dateTextBlock)
    {
        this.dateCreated = dateCreated;
        this.dateTextBlock = dateTextBlock;
    }

    public override string JournalEntryName
    {
        get
        {
            return "Journal Entry " + this.dateCreated;
        }
    }

    public override void Replay(NavigationService navigationService, NavigationMode mode)
    {
        this.dateTextBlock.Text = this.dateCreated;
    }
}

Imports System.Windows.Controls
Imports System.Windows.Navigation
<Serializable>
Public Class MyCustomContentState
    Inherits CustomContentState
    Private dateCreated As String
    Private dateTextBlock As TextBlock

    Public Sub New(ByVal dateCreated As String, ByVal dateTextBlock As TextBlock)
        Me.dateCreated = dateCreated
        Me.dateTextBlock = dateTextBlock
    End Sub

    Public Overrides ReadOnly Property JournalEntryName() As String
        Get
            Return "Journal Entry " & Me.dateCreated
        End Get
    End Property

    Public Overrides Sub Replay(ByVal navigationService As NavigationService, ByVal mode As NavigationMode)
        Me.dateTextBlock.Text = Me.dateCreated
    End Sub
End Class

Comentarios

De forma predeterminada, NavigationService no almacena una instancia de un objeto de contenido en el historial de navegación. En su lugar, NavigationService crea una nueva instancia del objeto de contenido cada vez que se navega a mediante el historial de navegación. Este comportamiento está diseñado para evitar un consumo excesivo de memoria cuando se navegan grandes cantidades y grandes fragmentos de contenido. Por lo tanto, el estado del contenido no se recuerda de una navegación a la siguiente. Sin embargo, WPF proporciona la capacidad de asociar un fragmento de estado personalizado con la entrada del historial de navegación para un fragmento de contenido.

El estado personalizado asociado a una entrada del historial de navegación debe ser una clase que derive de CustomContentState. Puede asociar un CustomContentState objeto a una entrada del historial de navegación mediante una de las técnicas siguientes:

Nota

Si llama al método AddBackEntry , debe controlar el evento Navigating o implementar IProvideCustomContentState.

Cuando se navega a la entrada del historial de navegación, WPF comprueba si un objeto personalizado CustomContentState está asociado a él. Si es así, llama Replay a para permitir que el objeto personalizado CustomContentState aplique el estado que recordó desde la navegación anterior.

Una clase personalizada CustomContentState puede invalidar JournalEntryName para cambiar el nombre que aparece para la entrada del historial de navegación a la que está asociado el CustomContentState objeto. El valor que JournalEntryName devuelve es visible desde la interfaz de usuario de navegación de los distintos navegadores (Internet Explorer 7, NavigationWindow, Frame).

Una clase que deriva de CustomContentState debe ser serializable, lo que significa que debe aumentarse al menos con SerializableAttributey, opcionalmente, implementar ISerializable.

Importante

Cuando almacena información en estado de contenido personalizado, no puede almacenar referencias a la instancia de la página para la que está recordando el estado si no desea que el contenido se conserve en la memoria. Esto evita que WPF libere la instancia de página y derrota el propósito del comportamiento predeterminado del historial de navegación. Si debe hacerlo, considere la posibilidad de usar KeepAlive en su lugar.

Constructores

CustomContentState()

Inicializa una nueva instancia de la clase CustomContentState.

Propiedades

JournalEntryName

Nombre del contenido que está almacenado en historial de navegación. El valor de se muestra desde NavigationWindow, Framey Windows interfaz de JournalEntryName usuario de navegación de Internet Explorer 7.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
Replay(NavigationService, NavigationMode)

Se le llama para volver a aplicar el estado a una parte del contenido cuando se produce la navegación.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también