IProvideCustomContentState 介面

定義

由一個類別實作,該類別需要在內容被導覽離開前,先為該內容的導航歷史條目加入自訂狀態。

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

備註

IProvideCustomContentState 允許你將一個自訂狀態(作為自訂 CustomContentState 類別實作)與已被導航離開的內容的導航歷史條目關聯起來。

自訂狀態也可以透過以下方式來關聯:

當你呼叫 IProvideCustomContentState 加入自訂狀態到導航歷史時,必須實作,否則導航歷史將無法正常運作;請考慮以下步驟:

  1. AddBackEntry 是用來將自訂狀態與目前內容關聯起來的。

  2. 導航歷史條目會被導回 Replay ,呼叫自訂狀態的方法,並將該狀態套用到內容上。

  3. 前述內容可導覽至前進導覽歷史紀錄。

  4. 導航歷史條目會導回,但自上次瀏覽該導航歷史條目後,該慣用狀態未被保留。

這是預設行為,因為最初以自訂狀態記錄的狀態在加入導航歷史後可能會改變。 如果自訂狀態物件被導回並套用其狀態,但在導覽歷史條目之前,狀態的某些變化尚未發生,則該狀態變更無法反映在自訂狀態物件中。 此外, AddBackEntry 無法明確呼叫來新增反映狀態變更的新自訂狀態物件。 因此,為確保特定航運的當前狀態始終儲存在導航歷史中, GetContentState 會被呼叫。

Important

當你將資訊儲存在自訂內容狀態時,你無法儲存任何指向你記憶頁面實例狀態的參考。 這會阻止 WPF 釋出頁面實例,也違背了預設導航歷史行為的初衷。 如果你必須這麼做,可以考慮改用 KeepAlive 它。

方法

名稱 Description
GetContentState()

回傳一個自訂狀態類別的實例,該類別將與導航歷史中的內容相關聯。

適用於