IProvideCustomContentState Interfejs

Definicja

Zaimplementowana przez klasę, która musi dodać stan niestandardowy do wpisu historii nawigacji dla zawartości przed przejściem do zawartości.

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

Uwagi

IProvideCustomContentState Umożliwia skojarzenie elementu stanu niestandardowego zaimplementowanego jako klasa niestandardowa CustomContentState z wpisem historii nawigacji dla zawartości, od której odejdono.

Stan niestandardowy można również skojarzyć w ten sposób przy użyciu następujących elementów:

Należy zaimplementować IProvideCustomContentState podczas dodawania stanu niestandardowego do historii nawigacji przez wywołanie metody AddBackEntry. W przeciwnym razie historia nawigacji nie będzie działać poprawnie. Rozważ następujące kroki:

  1. Funkcja AddBackEntry jest wywoływana w celu skojarzenia stanu niestandardowego z bieżącą zawartością.

  2. Wpis historii nawigacji jest przywracany do, a Replay metoda stanu niestandardowego jest wywoływana, a stan jest stosowany do zawartości.

  3. Poprzednia zawartość jest nawigowana do w historii nawigacji do przodu.

  4. Wpis historii nawigacji jest przywracany do adresu , ale stan niestandardowy nie został zachowany od czasu ostatniego przejścia do wpisu historii nawigacji, z którego został skojarzony.

Jest to zachowanie domyślne, ponieważ stan, który jest początkowo rejestrowany w stanie niestandardowym, może ulec zmianie po dodaniu go do historii nawigacji. Jeśli obiekt stanu niestandardowego jest nawigowany z powrotem do i jego stan jest stosowany, zanim jakiś aspekt stanu zmieni się przed przejściem do wpisu w historii nawigacji, zmiana stanu nie może zostać odzwierciedlona w obiekcie stanu niestandardowego. Ponadto AddBackEntry nie można jawnie wywołać metody w celu dodania nowego niestandardowego obiektu stanu, który odzwierciedla zmiany stanu. W związku z tym, aby zapewnić, że bieżący stan dla określonej nawigacji jest zawsze przechowywany w historii nawigacji, GetContentState jest wywoływany.

Ważne

W przypadku przechowywania informacji w stanie zawartości niestandardowej nie można przechowywać żadnych odwołań do wystąpienia strony, dla której jest zapamiętywanie stanu. Zapobiega to zwolnieniu wystąpienia strony przez platformę WPF i eliminuje cel domyślnego zachowania historii nawigacji. Jeśli musisz to zrobić, możesz rozważyć użycie zamiast tego KeepAlive .

Metody

GetContentState()

Zwraca wystąpienie niestandardowej klasy stanu, która ma być skojarzona z zawartością w historii nawigacji.

Dotyczy