共用方式為


記住每個頁面執行個體的多組狀態

更新:2007 年 11 月

這個範例說明如何記住及巡覽單一頁面執行個體 (Instance) 的多組狀態。

這個範例示範 Windows Presentation Foundation 的特定功能,因此並未遵循應用程式開發的最佳做法。如需 Windows Presentation Foundation (WPF) 和 Microsoft .NET Framework 應用程式開發最佳做法的完整內容,請依適當情況參閱下列內容:

協助工具 - 協助工具最佳作法

當地語系化 - WPF 全球化和當地語系化概觀

效能 - 最佳化 WPF 應用程式效能

安全性 - Windows Presentation Foundation 安全性

Download sample

建置範例

  • 安裝 Windows Software Development Kit (SDK),然後開啟 [建置環境命令] 視窗。在 [開始] 功能表中,指向 [所有程式]、[Microsoft Windows SDK],然後按一下 CMD 殼層。

  • 接著,在軟體開發套件 (SDK) 文件處下載軟體,並存至您的硬碟上。

  • 若要組建建置環境命令視窗的範例,您必須先移至範例的來源目錄在命令提示字元中,輸入 MSBUILD。

  • 若要在 Microsoft Visual Studio 中建置範例,請載入範例方案或專案檔,然後按下 CTRL+SHIFT+B。

執行範例

  • 若要在 [建置環境命令視窗] 中執行編譯後的範例,請執行位在包含範例原始程式碼的檔案夾 (Bin\Debug 或 Bin\Release 檔案夾) 下的 .exe 檔案。

  • 若要在 Visual Studio 中執行編譯後的範例並進行偵錯,請按 F5。

備註

狀態巡覽可以將內容片段的狀態變更記錄為巡覽記錄項目,以供日後巡覽之用。當日後巡覽到這些記錄時,就會還原巡覽記錄項目所記錄的狀態。

這個範例所示範的狀態巡覽,會在所選取清單方塊的項目變更時加以記錄。每個狀態項目都由自訂的 CustomContentState 物件儲存,並呼叫 AddBackEntry 加入初始項目,以便將其加入巡覽記錄,以及呼叫 GetContentState,確保項目是跨巡覽保存。此外,這個範例也示範如何移除反向巡覽記錄 (Back Navigation History) 中的狀態巡覽項目。

當您需要記住及巡覽單一頁面執行個體的多組狀態時,這個技巧十分實用。若要記住跨頁面執行個體的單項狀態,請考慮使用有日誌記錄的相依性屬性 (請參閱跨頁面執行個體記住單項狀態)。若要記住跨頁面執行個體的單組狀態,則請考慮使用 IProvideCustomContentState (請參閱跨頁面執行個體記憶單組狀態)。

ms771388.alert_caution(zh-tw,VS.90).gif重要事項:

當您以自訂的內容狀態儲存資訊時,請確定您沒有儲存頁面執行個體 (您在巡覽離開此頁面時會記住其狀態) 的參考。這可避免 WPF 釋放此頁面執行個體,並且不會達到預設巡覽記錄行為的目的。如果您必須這樣做,請考慮改用 KeepAlive

請參閱

工作

跨頁面執行個體記憶單組狀態

記住每個頁面執行個體的多組狀態