Я работаю в Windows Phone 8. Я пытаюсь сохранить несколько изображений в изолированном хранилище. Но во время сохранения это похоже на то, что мой пользовательский интерфейс вешается. Возможно, это происходит для «Deployment.Current.Dispatcher.BeginInvoke». Если я не использую Deployment.Current.Dispatcher.BeginInvoke, тогда я получаю Недопустимый сквозной доступ к потоку ошибка в строке «var bi = new BitmapImage();».Сохранение изображений в изолированном хранилище сгенерирует «Недопустимый сквозной доступ».
Пример кода для сохранения изображений:
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
var workingDictionary = new Dictionary<string, Stream>(streamDictionary);
foreach (var item in workingDictionary)
{
var isoStore = IsolatedStorageFile.GetUserStoreForApplication();
if (isoStore.FileExists(item.Key))
isoStore.DeleteFile(item.Key);
using (var writer = new StreamWriter(new IsolatedStorageFileStream(item.Key, FileMode.Create, FileAccess.Write, isoStore)))
{
var encoder = new PngEncoder();
var bi = new BitmapImage();
bi.SetSource(item.Value);
var wb = new WriteableBitmap(bi);
encoder.Encode(wb.ToImage(), writer.BaseStream);
System.Diagnostics.Debug.WriteLine("saving..." + item.Key);
}
}
});
Любая помощь будет высоко оценен.
остоит не работает для вас? – loop
Нет, это не сработало. :( – raisul
Он должен работать для вас, проверьте ссылку, которую я добавил в свой ответ. – loop