2013-03-28 80 views
0

如何保存狀態(例如通過PhoneApplicationService)並且不會破壞mvvm原則。保存狀態和MVVM

當應用程序進入「停用」狀態時,我想保留模型對象(例如綁定到表單)並在應用程序恢復時恢復它。

我應該在哪裏放置一個「保存狀態機制」的邏輯。在視圖還是視圖模型中?

視圖模型中的不利位置: 我想在其他平臺(Win8)中使用我的mvvm,並且希望使我的mvvm最大程度地獨立於平臺。

我一直在思考viewmodel中的一個事件,其中可以處理視圖模型對象創建時刻並將其保存在特定於平臺的存儲中。

化妝服務,基於接口保存狀態和ViewModelLocator註冊。

+1

我會使用該服務,因爲它可用於所有視圖模型 –

回答

1

我最近寫了一篇文章究竟這一點,我創建了一個NuGet包此:

文章:http://www.kenneth-truyers.net/2013/03/13/tombstoning-made-easy-in-windows-phone-mvvm/

的NuGet:安裝,包裝WindowsPhone.MVVM.Tombstone

你可以閱讀文章看看如何使用這個軟件包。

該軟件包基本上允許您應用一個屬性來保存邏輯刪除的所有屬性並自動恢復它們。你只需要處理兩個頁面事件。

+0

一個簡單的示例項目將不勝感激。謝謝。 –