Share via


IProvideCustomContentState 介面

定義

在從內容巡覽至別處之前,由需要新增自訂狀態至內容之巡覽記錄項目的類別實作。

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

備註

IProvideCustomContentState 可讓您建立一段自訂狀態的關聯,實作為自訂 CustomContentState 類別,以及已離開的內容導覽歷程記錄專案。

自訂狀態也可以使用下列專案,以這種方式建立關聯:

您必須藉 IProvideCustomContentState 由呼叫 AddBackEntry 將自訂狀態新增至流覽歷程記錄時實作,否則導覽歷程記錄將無法正常運作;請考慮下列步驟:

  1. 呼叫 AddBackEntry 以將自訂狀態與目前的內容產生關聯。

  2. 流覽歷程記錄專案會巡覽回 ,並 Replay 呼叫自訂狀態的 方法,並將狀態套用至內容。

  3. 先前的內容會在向前流覽歷程記錄中流覽至 。

  4. 流覽歷程記錄專案會巡覽回 ,但自訂狀態自上次流覽記錄專案已巡覽至之後尚未保留。

這是預設行為,因為一開始記錄于自訂狀態的狀態可能會在新增至流覽歷程記錄之後變更。 如果自訂狀態物件巡覽回並套用其狀態,在流覽歷程記錄中的專案流覽至之前的狀態變更之前,狀態變更無法反映在自訂狀態物件中。 此外, AddBackEntry 無法明確呼叫 以新增反映狀態變更的自訂狀態物件。 因此,若要確保特定導覽的目前狀態一律儲存在流覽歷程記錄中, GetContentState 則會呼叫 。

重要

當您將資訊儲存在自訂內容狀態時,無法儲存您記住狀態之頁面實例的任何參考。 這可防止 WPF 釋放頁面實例,並破壞預設導覽歷程記錄行為的目的。 如果您必須這麼做,您可以改為考慮使用 KeepAlive

方法

GetContentState()

傳回要與巡覽記錄中內容產生關聯的自訂狀態類別的執行個體。

適用於