0

假设我有一个用 XAML 编写的 ListBox:

<ListBox x:Name="myListBox" />

并在 C# 中添加项目:

myListBox.Items.Add("a");
myListBox.Items.Add("b");
myListBox.Items.Add("c");

当我关闭应用程序时,我在 myListBox 中添加的项目都消失了,当我再次打开应用程序时,myListBox 从空白开始。我想保留这些项目,现在我的方法是将其存储在 1 个字符串中并将其保存到 RoamingSettings。但它效率低下,我的代码现在很乱。有更好的主意吗?

4

1 回答 1

2

有多种方法可以保存应用程序的状态,详见本文: http: //msdn.microsoft.com/en-us/library/windows/apps/hh986968.aspx ?cs-save-lang=1&cs- lang=csharp#code-snippet-7

您是否覆盖了该SaveState方法?Dictionary<String,Object>与手动序列化到 RoamingSettings 相比,您可以使用该方法更适当地存储数据。

也就是说,考虑采用 MVVM 设计,这样您只需要保存视图/页面的 ViewModel 数据而不是控制属性状态。

于 2013-03-03T09:50:02.707 回答