我有一个Silverlight类,我想存储到磁盘。它包含几个基本的CLR对象 - 字符串和整数,以及WPF BitmapImage。
将此文件存储到文件的最佳方法是什么?我已经尝试将类序列化并将其转储到文件中,但BitmapImage不支持序列化。
理想情况下,我想将bitmapimage存储为磁盘上的物理图像(.png .jpg等),并将CLR对象存储在某个键值对设置文件中。这在WPF中非常简单,因为它原生支持KVP项目设置,但在Silverlight中还有更多限制。
非常感谢任何建议!
答案 0 :(得分:0)
对于图片部分,如果您可以使用WriteableBitmap
代替BitmapImage
,那么这可能会有所帮助:http://www.codeproject.com/Articles/38636/Saving-Bitmaps-to-Isolated-Storage-in-Silverlight-.aspx?display=Print
答案 1 :(得分:0)
为了在本地机器上不费吹灰之力地存储KeyValuePairs,我考虑使用IsolatedStorageSettings.ApplicationSettings字典集合。
以下是一个示例:http://msdn.microsoft.com/en-us/library/cc221360(VS.95).aspx
如果您想将BitmapImage存储到IsoStore,我建议使用与WriteableBitmap结合使用的图像编码器。将BitmapImage(通过Image控件)放置在WriteableBitmap中将允许您访问每个单独的像素。使用PngEncoder,您可以保存该图像的实际图像文件 Jeff prosise的示例如下:http://www.wintellect.com/CS/blogs/jprosise/archive/2009/07/17/fun-with-savefiledialog-and-writeablebitmap.aspx