Сохранение настроек пары ключ-значение в Silverlight - PullRequest
0 голосов
/ 09 ноября 2009

У меня есть класс в Silverlight, который я хотел бы сохранить на диск. Он содержит несколько базовых объектов CLR - строки и целые числа и WPF BitmapImage.

Каков наилучший способ сохранить это в файл? Я попытался сериализовать класс и вывести его в файл, но BitmapImage не поддерживает сериализацию.

В идеале я хочу сохранить битовый образ в виде физического изображения на диске (.png .jpg и т. Д.) И сохранить объекты CLR в некотором файле настроек пары ключ-значение. Это очень просто в WPF, поскольку изначально поддерживает настройки проекта KVP, но в Silverlight есть много других ограничений.

Любой совет очень ценится!

Ответы [ 2 ]

0 голосов
/ 09 ноября 2009

Чтобы хранить KeyValuePairs без особых проблем на локальном компьютере, я хотел бы рассмотреть возможность использования словарного собрания IsolatedStorageSettings.ApplicationSettings.
Вот пример этого: http://msdn.microsoft.com/en-us/library/cc221360(VS.95).aspx

Если вы хотите сохранить BitmapImage в IsoStore, я бы предложил использовать своего рода кодировщик изображений вместе с WriteableBitmap. Размещение вашего BitmapImage (через элемент управления Image) в WriteableBitmap даст вам доступ к каждому отдельному пикселю. С помощью PngEncoder вы можете сохранить фактический файл изображения для этого изображения.
Джефф Просис имеет образец этого здесь: http://www.wintellect.com/CS/blogs/jprosise/archive/2009/07/17/fun-with-savefiledialog-and-writeablebitmap.aspx

0 голосов
/ 09 ноября 2009

Для части изображения, если вы можете использовать WriteableBitmap вместо BitmapImage, то, возможно, это поможет: http://www.codeproject.com/Articles/38636/Saving-Bitmaps-to-Isolated-Storage-in-Silverlight-.aspx?display=Print

...