Udostępnij za pośrednictwem


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