2009-11-09 104 views
0

我有一个Silverlight类,我想存储到磁盘。它包含几个基本的CLR对象 - 字符串和整数,以及WPF BitmapImage。在Silverlight中存储键值对设置

什么是将其存储到文件的最佳方式是什么?我已经尝试序列化类并将其转储到文件,但BitmapImage不支持序列化。

理想情况下,我想将bitmapimage作为物理图像存储在磁盘上(.png .jpg等),并将CLR对象存储在某些键值对设置文件中。这在WPF中非常容易,因为它本身支持KVP项目设置,但在Silverlight中还有很多限制。

任何意见是非常感谢!

回答

0

为了存储KeyValuePairs无需在本地机器上小题大做,我会考虑使用IsolatedStorageSettings.ApplicationSettings词典采集。
这里有一个例子:http://msdn.microsoft.com/en-us/library/cc221360(VS.95).aspx

如果你想存储的BitmapImage到IsoStore,我建议使用各种各样的图像编码与WriteableBitmap的结合。将BitmapImage(通过Image控件)放置在WriteableBitmap中将使您可以访问每个单独的像素。使用PngEncoder可以保存该图像的实际图像文件。
杰夫prosise在这里有一个样本:http://www.wintellect.com/CS/blogs/jprosise/archive/2009/07/17/fun-with-savefiledialog-and-writeablebitmap.aspx