我正在尝试在 wp 上保存列表框的状态。我用这个方法来墓碑文本框的内容,它工作得很好,但我遇到了字符串列表的问题:
基本上我有一个名为 beta 的字符串列表,我必须单击一个按钮来生成列表。所以我希望如果我关闭或停用我的应用程序然后重新启动它,列表就会显示而无需按下按钮
List<string> beta;
private void b_Click_1(object sender, RoutedEventArgs e)
{
List<string> beta = new List<string>{
"string","string","string",
"string","string","string",
"string", };
list.ItemsSource = beta;
phoneAppService.State["_List"] = beta;
}
private void PhoneApplicationPage_Loaded_1(object sender, RoutedEventArgs e)
{
object myValue;
if(phoneAppService.State.TryGetValue("_List", out List<myValue)> ){
list.ItemsSource = myValue;
}
}
但出现问题:
phoneAppService.State.TryGetValue("MyValue", out List<myValue)>
尽管此方法适用于一个字符串,但不适用于列表。
我应该对字符串列表使用哪种方法?
编辑 :
以下是我在应用程序关闭、停用、启动或打开时调用的 app.xaml.cs 类中的方法:
private void SaveState() {
PhoneApplicationService phoneAppService = PhoneApplicationService.Current;
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
settings["MyValue"] = phoneAppService.State["MyValue"];
if(settings.Contains("_List")){
settings["_List"] = phoneAppService.State["_List"];
}
}
private void LoadState() {
PhoneApplicationService phoneAppService = PhoneApplicationService.Current;
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
string myValue = "";
if(settings.TryGetValue<string>("MyValue", out myValue )){
phoneAppService.State["MyValue"] = myValue;
}
List<string> myValues;
if (settings.TryGetValue<List<string>>("_List", out myValues))
{
phoneAppService.State["_List"] = myValues as List<string>;
}
}
正如我之前所说,此方法适用于在文本框中正确恢复的字符串,但不适用于字符串列表