2013-12-07 3 views
1

Предположим, что у меня есть изображение в папке установки моего приложения.Скопируйте изображение из папки установки Windows Phone в изолированное хранилище

например. "/Assets/Images/BackgroundImage.jpg"

Любая идея, как сохранить это изображение в изолированной папке хранения? , например. "/Shared/ShellContent/BackgroundImage.jpg"

Должен ли я использовать WriteableBitmap для его рендеринга?

Я полагаю, это было бы не так сложно, однако, я просто настолько тупой, что не мог понять это.

+0

Что вы подразумеваете под визуализацией? просто показ или smth более продвинутый? – Nogard

ответ

1

Отвечая на первый вопрос - как скопировать файл из установочной папки в изолированное хранилище:

 var uri = new Uri("Assets\\Images\\BackgroundImage.jpg", UriKind.Relative); 
     var sri = Application.GetResourceStream(uri); 
     var data = sri.Stream; 
     IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication(); 

     using (IsolatedStorageFileStream stream = storage.CreateFile("Shared\\ShellContent\\BackgroundImage.jpg")) 
     { 
      data.CopyTo(stream); 
     } 

Вы второй вопрос - если вы хотите сделать отображение изображения в качестве фона:

<Image Source="/Shared/ShellContent/BackgroundImage.jpg" /> 

Конечно вам нужно назначить правильные свойства в соответствии с вашим расположением. Кроме того, чтобы избежать жесткого кодирования, вы можете привязать Source к любой переменной и переключить ее во время выполнения

+0

Спасибо за ответ, ваш код выглядит многообещающим, однако, когда я пытаюсь использовать 'storage.CopyFile', я получил следующее исключение: ' System.IO.IsolatedStorage.IsolatedStorageException: Operation not allowed.' Пропустить что-нибудь ? –

+0

Нет, IsolatedStorage не может получить доступ к локальной папке, поэтому исключение ОК - мое плохое. Исправленный и проверенный образец - обходным путем используется «Поток». Просто убедитесь, что все каталоги созданы, поскольку «CreateFile» выдает исключения, иначе – Nogard

+0

вау, спасибо! Это сработало! –

Смежные вопросы