如何从隔离存储中获取图像

我有这个XAML

             

在守则中:

 using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication()) { IsolatedStorageFileStream isoStoreStream = isoStore.OpenFile("chart.xml", FileMode.Open); using (StreamReader reader = new StreamReader(isoStoreStream)) { XElement xml = XElement.Parse(reader.ReadToEnd()); var list = from var in xml.Descendants("Pos") select new Single { Pos = Int32.Parse(var.Attribute("id").Value), Img = how read from isolated storage the image id.jpg? }; public class Single { public int Pos { set; get; } public ??? Img { set; get; } } 

我已经将图像保存到隔离存储中,但问题是:如何从隔离存储中读取名称如id.jpg(1.jpg,2.jpg,3.jpg …)的图像?

Single类中, Img属性应为ImageSource类型。 要设置此属性(从IsolatedStorage读取图像),您可以执行以下操作:

 private ImageSource getImageFromIsolatedStorage(string imageName) { BitmapImage bimg = new BitmapImage(); using (IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForApplication()) { using (IsolatedStorageFileStream stream = iso.OpenFile(imageName, FileMode.Open, FileAccess.Read)) { bimg.SetSource(stream); } } return bimg; } 

然后在您的代码段中:

 using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication()) { IsolatedStorageFileStream isoStoreStream = isoStore.OpenFile("chart.xml", FileMode.Open); using (StreamReader reader = new StreamReader(isoStoreStream)) { XElement xml = XElement.Parse(reader.ReadToEnd()); var list = from var in xml.Descendants("Pos") select new Single { Pos = Int32.Parse(var.Attribute("id").Value), Img = getImageFromIsolatedStorage(string.Format("{0}.jpg", Pos)); };