2012-11-25 26 views
0

我有一個應用程序,將webcomic圖像加載到FlipView中,我想將它保存爲頁面狀態,但是我似乎遇到了將List保存到LocalSettings中的一些麻煩。有沒有辦法讓我序列化這些數據,這樣我就可以保存我的FlipView的狀態了?下面的代碼爲漫畫:在Windows 8中保存一個集合到頁面狀態?

public class Comic 
{ 
    public int Month { get; set; } 
    public int Num { get; set; } 
    public string Link { get; set; } 
    public int Year { get; set; } 
    public string News { get; set; } 
    public string Safe_Title { get; set; } 
    public string Transcript { get; set; } 
    public string Alt { get; set; } 
    public string Img { get; set; } 
    public string Title { get; set; } 
    public int Day { get; set; } 

    public Comic() { } 
} 

回答

0

每個元素在LocalSettings必須被支持的Window Runtime type所以你不能保存類實例本身,但您可以創建一個綜合值,並設置單獨的屬性。看看代碼樣本ApplicationDataCompositeValue

或者,你可以序列化JSON,並存儲爲一個字符串(如果< 8K總)或使用LocalFolder與LocalSettings文件。

+0

我試過將集合保存爲JSON字符串,但由於某些原因,它仍然不會保存/加載。我已經按照這裏的過程:http://msdn.microsoft.com/en-us/library/windows/apps/Hh986968.aspx到信件(改變LocalSettings到LocalFolder /文件),但數據仍然不會加載。 – Martin

+0

你是否會發生錯誤?如果要將字符串保存到文件中,您將執行File IO(異步),因此[此處的示例](http://msdn.microsoft.com/zh-cn/library/windows/apps/hh465118 .aspx#write_data_to_a_file)可能更好用 –

+0

我沒有收到任何錯誤,只是說狀態不會保存。我在FlipView的15/x項目,但如果我嘗試暫停和恢復應用程序,我總是回到1/x。 – Martin

相關問題