IProvideCustomContentState Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Implementado por uma classe que precisa adicionar estado personalizado à entrada do histórico de navegação do conteúdo anterior ao conteúdo do qual se navegou para outro local.
public interface class IProvideCustomContentState
public interface IProvideCustomContentState
type IProvideCustomContentState = interface
Public Interface IProvideCustomContentState
Comentários
IProvideCustomContentState permite que você associe uma parte do estado personalizado, implementada como uma classe personalizada CustomContentState , à entrada do histórico de navegação para o conteúdo do qual o conteúdo foi navegado.
O estado personalizado também pode ser associado dessa forma usando o seguinte:
Chamando AddBackEntry:
Configuração NavigatingCancelEventArgs.Content quando um dos seguintes eventos é gerado:
Você deve implementar IProvideCustomContentState ao 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:
AddBackEntry é chamado para associar um estado personalizado ao conteúdo atual.
A entrada do histórico de navegação é navegada de volta para e o Replay método do estado personalizado é chamado e o estado é aplicado ao conteúdo.
O conteúdo anterior é navegado no histórico de navegação para frente.
A entrada do histórico de navegação é navegada de volta para, mas o estado personalizado não foi retido 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 para 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 navegação específica seja sempre armazenado no histórico de navegação, GetContentState é chamado.
Importante
Ao armazenar informações no estado de conteúdo personalizado, você não pode armazenar nenhuma referência à instância da página para a qual você está se lembrando do estado. Isso impede que o WPF libere a instância de página e derrota a finalidade do comportamento padrão do histórico de navegação. Se você precisar fazer isso, considere usar KeepAlive em vez disso.
Métodos
GetContentState() |
Retorna uma instância de uma classe de estado personalizado que deve ser associada com o conteúdo no histórico de navegação. |