从Windows Phone 7中的IsolatedStorage设置中获取价值

时间:2013-07-03 13:40:26

标签: visual-studio-2010 windows-phone-7

任何人都可以帮我解决这个问题吗? 我正在使用visual studio2010及其windows phone 7应用程序

我创建了addpet.xaml和mypet.xaml。 在mypet.cs文件中创建IsolatedStorageSetting对象

{

      public static IsolatedStorageSettings settings=IsolatedStorageSettings.ApplicationSettings;

}

我有5个文本框,我将其值存储在列表项中。该列表存储在IsolatedStorageSetting对象中。

{

        SaveMypet savepet = new SaveMypet();

        savepet.Name = txt_name.ToString();
        savepet.Birthday = txt_birthday.ToString();
        savepet.FavFood = txt_favouritefood.ToString();
        savepet.DocNo = txt_doctorsno.ToString();
        savepet.VacDate = txt_vacdate.ToString();
        savepet.FavToy = txt_favouritetoy.ToString();
        //   savepet.Image1 = image1.Source;

        listMyPet.Add(savepet);
        settings.Add("iso_listMyPet", listMyPet);

}

现在我想在addpet.cs中访问此对象并将其转换为list,然后想要分配给listbox。 像这样,我做过但不起作用 在addpet.cs中创建了列表对象

{

     static List<pg_addPet> list_listMyPet = null;

}

       protected override void OnNavigatedTo(NavigationEventArgs e)

{

       list_listMyPet = (List<pg_addPet>)pg_addPet.settings["iso_mypet_list"];
       listbox_mypet.ItemsSource = list_listMyPet;  

}

我的SaveMypet类是

        public class SaveMypet
{
    public string Name { get; set; }
    public string Birthday { get; set; }
    public string FavFood { get; set; }
    public string DocNo { get; set; }
    public string VacDate { get; set; }
    public string FavToy { get; set; }
   // public ImageSource  Image1 { get; set; }

}

2 个答案:

答案 0 :(得分:0)

您已将settings属性声明为static。因此,您需要使用类名来访问它:

list_listMyPet = (List<pg_addPet>)pg_mypet.settings["iso_mypet_list"];

答案 1 :(得分:0)

尝试以下方法:

if(!pg_mypet.settings.TryGetValue("iso_mypet_list", out list_listMyPet)) 
{
  list_listMyPet = new List<pg_addPet>();
}

这将尝试检索该值,如果失败则会创建一个空列表。