0

我有一个类定义一个人。在课堂上,我将其定义如下:

    [XmlIgnore]
    public BitmapImage PhotoSource
        {
        get { return _PhotoSource; }
        set
            {
            _PhotoSource = value;
            NotifyPropertyChanged( "PhotoSource" );
            }
        }

我添加了:

      [XmlIgnore]

与使用

      [DataMember]

因为序列化不适用于 BitmapImage。

但是,我仍然需要保存 BitmapImage Local 和/或 Roaming。

那怎么能做到呢?

谢谢, EitanB

4

1 回答 1

2

从您的 BitmapImage 创建一个文件,然后使用 StorageFile 类将其写入文件系统。

    Windows.Storage.StorageFile file = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(bmImage.UriSource);
    await file.CopyAsync(Windows.Storage.ApplicationData.Current.LocalFolder);

要将文件加载回 BitmapImage:

BitmapImage bmImage;
bmImage = new BitmapImage();

bmImage.UriSource = new Uri(new Uri(
     Windows.Storage.ApplicationData.Current.LocalFolder.Path + "\\" +
     Windows.Storage.ApplicationData.Current.LocalFolder.Name), 
     "favicon.scale-100.ico");
于 2012-09-27T20:37:18.557 回答