IProvideCustomContentState Interface

Definição

Implementado por uma classe que precisa adicionar um estado personalizado à entrada de histórico de navegação para conteúdo antes que o conteúdo seja navegado para longe.

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

Comentários

IProvideCustomContentState permite associar uma parte do estado personalizado, implementada como uma classe personalizada CustomContentState , à entrada de histórico de navegação para conteúdo que foi navegado para longe.

O estado personalizado também pode ser associado dessa forma usando o seguinte:

Você deve implementar IProvideCustomContentState quando adicionar o estado personalizado ao histórico de navegação chamando AddBackEntry, caso contrário, o histórico de navegação não funcionará corretamente; considere as seguintes etapas:

  1. AddBackEntry é chamado para associar um estado personalizado ao conteúdo atual.

  2. A entrada do histórico de navegação é navegada de volta e o Replay método do estado personalizado é chamado e o estado é aplicado ao conteúdo.

  3. O conteúdo anterior é navegado no histórico de navegação.

  4. A entrada do histórico de navegação é navegada de volta, mas o estado personalizado não foi mantido desde a última vez em que a entrada do histórico de navegação à qual foi associada foi navegada.

Esse é o comportamento padrão porque o estado inicialmente registrado no estado personalizado pode ser alterado depois que ele foi adicionado ao histórico de navegação. Se o objeto de estado personalizado for navegado de volta e seu estado for aplicado, antes que algum aspecto sobre o estado seja alterado antes da entrada no histórico de navegação ser navegada, a alteração no estado não poderá ser refletida no objeto de estado personalizado. Além disso, AddBackEntry não pode ser chamado explicitamente para adicionar um novo objeto de estado personalizado que reflita as alterações de estado. Consequentemente, para garantir que o estado atual de uma determinada navegação seja sempre armazenado no histórico de navegação, GetContentState é chamado.

Importante

Quando você armazena informações no estado de conteúdo personalizado, não é possível armazenar referências à instância da página para a qual você está se lembrando do estado. Isso impede que WPF libere a instância da página e derrota a finalidade do comportamento padrão do histórico de navegação. Se você precisar fazer isso, talvez considere usar KeepAlive em vez disso.

Métodos

Nome Description
GetContentState()

Retorna uma instância de uma classe de estado personalizada que deve ser associada ao conteúdo no histórico de navegação.

Aplica-se a