我有一个问题,似乎我对我的ApplicationSettings做的更改没有更新我的Au@R_301_410@PlayerAgents ApplicationSettings应该是相同的?!
我的程序看起来像这样:
在OnNavigatedTo的MainPage.xaml.cs中,我创建了两个音频文件数组
Au@R_301_410@[] aud = new Au@R_301_410@[2]; Au@R_301_410@[] aud1 = new Au@R_301_410@[2]; aud[0] = new Au@R_301_410@(new Uri("1.mp3",UriKind.Relative),"Test1",new Uri("Images/Covers/0000000018724345_256x256_large.jpg",UriKind.Relative)); aud[1] = new Au@R_301_410@(new Uri("2.mp3","Test2",new Uri("Images/Covers/0000000018698018_256x256_large.jpg",UriKind.Relative)); aud1[0] = new Au@R_301_410@(new Uri("3.mp3","Test3",new Uri("Images/Covers/0000000018465020_256x256_large.jpg",UriKind.Relative)); aud1[1] = new Au@R_301_410@(new Uri("http://traffic.libsyn.com/wpra@R_301_410@/WPRa@R_301_410@_29.mp3",UriKind.Absolute),"Episode 29","Windows Phone Ra@R_301_410@",new Uri("Images/Covers/0000000018844939_256x256_large.jpg",UriKind.Relative));
然后我在ApplicationSettings中保存其中一个数组
IsolatedStorageSettings.ApplicationSettings["tracklist"] = aud; IsolatedStorageSettings.ApplicationSettings.Save();
然后我关闭并启动BackgroundAu@R_301_410@Player.
BackgroundAu@R_301_410@Player.Instance.Close(); BackgroundAu@R_301_410@Player.Instance.Play();
在我的Au@R_301_410@Player中,我正在加载以前保存的ApplicationSettings,它工作正常.
Au@R_301_410@[] aud; IsolatedStorageSettings.ApplicationSettings.TryGetValue<Au@R_301_410@[]>("tracklist",out aud);
但是当我后来想要将MainPage.xaml.cs中的ApplicationSettings替换为另一个数组时
IsolatedStorageSettings.ApplicationSettings["tracklist"] = aud1; IsolatedStorageSettings.ApplicationSettings.Save();
并在我的Au@R_301_410@Player中再次加载值,我的ApplicationSettings中仍然存在旧值,Au@R_301_410@PlayerAgent和MainPage应该使用相同的ApplicationSettings吗?事实上,第一次保存并可用于Au@R_301_410@PlayerAgent,所以我错过了什么?
我的Au@R_301_410@类看起来像这样
[DataContractAttribute] public class Au@R_301_410@ { [DataMember] public Uri TrackUrl { get; set; } [DataMember] public string Title { get; set; } [DataMember] public string Artist { get; set; } [DataMember] public Uri CoverURL { get; set; } public Au@R_301_410@(Uri trackUrl,string title,string artist,Uri coverUrl) { TrackUrl = trackUrl; Title = title; Artist = artist; CoverURL = coverUrl; } }