C# 我们可以从本地设置(应用程序数据)恢复多个值吗

C# 我们可以从本地设置(应用程序数据)恢复多个值吗,c#,visual-studio,windows-phone-8.1,C#,Visual Studio,Windows Phone 8.1,我正在使用Windows phone 8.1应用程序。在我的项目中,当用户从文本框输入文本时,它应该显示在listview中。当用户重新启动应用程序时,应显示整个列表项。我尝试了很多方法,但在下一次应用程序发布中只显示了一个值。请帮帮我 string ss = text_input.Text; list_view.Items.Add(ss); data.Values["add"] = ss; 只检索一个值 if (data.Values["add"] != null) {

我正在使用Windows phone 8.1应用程序。在我的项目中,当用户从文本框输入文本时,它应该显示在listview中。当用户重新启动应用程序时,应显示整个列表项。我尝试了很多方法,但在下一次应用程序发布中只显示了一个值。请帮帮我

string ss = text_input.Text;
list_view.Items.Add(ss);
data.Values["add"] = ss;
只检索一个值

if (data.Values["add"] != null)
      {
          list_view.Items.Add(data.Values["add"].ToString());
      }

应显示所有值

您可以将所有值合并到一个字符串中。例如:

const string ITEMS_SEPERATOR = "#";
var values = string.Join(ITEMS_SEPERATOR, list_view.Items.Select(s => s.ToString() /*or whatever you want to save*/);
data.Values["add"] = values;
然后,当您要恢复您的设置时:

forea(var item in data.Values["add"].Split(ITEMS_SEPERATOR))
{
list_view.Items.Add(item);
}

请注意,如果您的项目包含“#”,它将失败。所以更好的方法是使用一些序列化程序(二进制或json或其他)。如果有很多项,我想您应该将其保存到文件中。

您可以将所有值合并到一个字符串中。例如:

const string ITEMS_SEPERATOR = "#";
var values = string.Join(ITEMS_SEPERATOR, list_view.Items.Select(s => s.ToString() /*or whatever you want to save*/);
data.Values["add"] = values;
然后,当您要恢复您的设置时:

forea(var item in data.Values["add"].Split(ITEMS_SEPERATOR))
{
list_view.Items.Add(item);
}

请注意,如果您的项目包含“#”,它将失败。所以更好的方法是使用一些序列化程序(二进制或json或其他)。如果有很多项,我想你应该把它们保存到文件中。

如果我看得正确,你的
数据。值[“添加”]
总是指单个值,不是吗?所以,在您发布的代码中,您正在处理单个列表项。其他的呢?请帮助我如何添加多个项目。是否可以恢复多个值。如果是这样的话,怎么看这个想法:我对这个例子有点困惑。使用foreach,我认为这是可以做到的。但是如何循环<代码>var ss=text\u input.text;列表\查看项目。添加(ss);foreach(list_view.Items中的ListViewItem项){data.Values[“add”]=ss;}如果我看得正确,您的
数据。Values[“add”]
总是指单个值,不是吗?所以,在您发布的代码中,您正在处理单个列表项。其他的呢?请帮助我如何添加多个项目。是否可以恢复多个值。如果是这样的话,怎么看这个想法:我对这个例子有点困惑。使用foreach,我认为这是可以做到的。但是如何循环<代码>var ss=text\u input.text;列表\查看项目。添加(ss);foreach(list_view.Items中的ListViewItem项){data.Values[“add”]=ss;}