IProvideCustomContentState Interfejs
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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:
Wywoływanie metody AddBackEntry:
Ustawienie NavigatingCancelEventArgs.Content po wystąpieniu jednego z następujących zdarzeń:
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:
Funkcja AddBackEntry jest wywoływana w celu skojarzenia stanu niestandardowego z bieżącą zawartością.
Wpis historii nawigacji jest przywracany do, a Replay metoda stanu niestandardowego jest wywoływana, a stan jest stosowany do zawartości.
Poprzednia zawartość jest nawigowana do w historii nawigacji do przodu.
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. |