2011-10-14 78 views
0

我開始在Windows Phone的silverlight中開發。據我瞭解,silverlight中的xaml視圖是無狀態的。保存Silverlight視圖的狀態

如何保留一個帶有列表框的視圖,以便在返回之後,我不必重新加載該視圖中的數據?

下面是一個例子:

比方說,我有一個有一些照片,從互聯網上的文字等一些列表項。 當點擊列表框項目時,我會進入相應項目的詳細視圖。當我回去時,重新加載列表框效率不高(從時間,處理,bandwich等角度來看)。我如何保存該視圖以便我不必重新加載?可以做到嗎?

UPDATE:我剛開始在一個視圖中的計時器和導航到另一個,當我回去時,計時器仍在運行(這是一個Threading.Timer),那麼,這是否意味着觀點並不無國籍並且在導航到其他視圖時不會銷燬它們?

回答

2

嘗試使用Mat laceys Tombstone助手,它使得保存所有Silverlight頁面的狀態非常容易,事實上在大多數情況下,它只是每頁的兩行代碼。

WP7 Tombstone helper

1

視圖本身可能是無狀態的,但沒有任何東西阻止它們綁定到視圖中保留的狀態/數據。 Silverlight更像是一個桌面應用程序,而不是ASP.Net應用程序。 如果視圖中的計時器仍在運行(它們將會),那是因爲視圖仍然被緩存在某處(或者計時器本身正在停止視圖被丟棄)。

狀態問題(在WP7應用程序中)與您擁有的有限內存量有關,因此您需要注意保留的內容。

如果您的應用退出並重新啓動,則需要將數據歸檔到獨立存儲中(而不是每次啓動時都要從網絡重新傳輸數據),但對於應用保留直到您想要在視圖之間保留的內容。