2012-11-20 44 views
0

我一直在写一篇关于windowsphone的文章。我创建了一个地址变量,包括一个uri将图像添加到地址中。当我使用隔离存储保存数据时出现错误。我不知道为什么。 请帮帮我! 非常感谢。如何将变量包含图像保存到windowsphone中的隔离存储中

class Address 
{ 
    private string name; 
    private Uri icon; 
    ..... 
} 

......

public void save() 
    { 
     XmlWriterSettings xmlwritersetting = new XmlWriterSettings(); 
     xmlwritersetting.Indent = true; 
      using (IsolatedStorageFile myisolatedstiragefile = IsolatedStorageFile.GetUserStoreForApplication()) 
     { 

      if (myisolatedstiragefile.FileExists(filename)) 
      { 
       myisolatedstiragefile.DeleteFile(filename); 
      } 

      using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream(filename, System.IO.FileMode.OpenOrCreate, myisolatedstiragefile)) 
      { 
       XmlSerializer serializer = new XmlSerializer(typeof(List<Adress>)); 
       using (XmlWriter writer = XmlWriter.Create(stream, xmlwritersetting)) 
       { 
        serializer.Serialize(writer, listadress); 
       } 
      } 
     } 
    } 
+1

什么是确切的错误?在哪一行?你是否将'Adress'类标记为可串行化? –

+0

请解释错误。什么样的错误? –

回答

0

这是一个有点困难,我明白你的问题,但我会努力。你真的应该指出你在调试器中具体得到的错误以及它发生的地方。

但只是看,你可能会试图使用XmlSerializer写入二进制映像数据到iso存储,并可能无法正常工作。您可以采用ISO-存储用于各种目的,包括写入图像的例子很多文件在这里: http://www.windowsphonegeek.com/tips/All-about-WP7-Isolated-Storage---Read-and-Save-Images

例如,它表明你可以这样做保存JPG图像到独立存储:

// Create a filename for JPEG file in isolated storage. 
      String tempJPEG = "logo.jpg";    
    // Create virtual store and file stream. Check for duplicate tempJPEG files. 
      using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())   { 
       if (myIsolatedStorage.FileExists(tempJPEG))    { 
        myIsolatedStorage.DeleteFile(tempJPEG); 
      } 
       IsolatedStorageFileStream fileStream = myIsolatedStorage.CreateFile(tempJPEG); 
       StreamResourceInfo sri = null; 
       Uri uri = new Uri(tempJPEG, UriKind.Relative); 
       sri = Application.GetResourceStream(uri); 
       BitmapImage bitmap = new BitmapImage(); 
       bitmap.SetSource(sri.Stream); 
       WriteableBitmap wb = new WriteableBitmap(bitmap); 
       // Encode WriteableBitmap object to a JPEG stream. 
       Extensions.SaveJpeg(wb, fileStream, wb.PixelWidth, wb.PixelHeight, 0, 85); 
       //wb.SaveJpeg(fileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);    fileStream.Close(); 
      } 
+0

sory,我的英文不太好......呵呵。我有一个地址变量。我想添加一个图像到它。我用Uri来做到这一点。此处出现错误:XmlSerializer serializer = new XmlSerializer(typeof(List

));和错误消息:{“反映属性'Icon'的错误。”}我刚刚阅读windowsphonegeek中的artices,但还没有解决方案。感谢Dan Colasan ti为您提供帮助。 –

相关问题