Если вы сохраните файл в IsolatedStorage, вы можете установить относительный путь для его просмотра оттуда.
Вот краткий пример сохранения файла, который был включен в XAP (в качестве ресурса), в изолированное хранилище.
using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
if (!isoStore.FileExists(fileName)
{
var sr = Application.GetResourceStream(new Uri(fileName, UriKind.Relative));
using (var br = new BinaryReader(sr.Stream))
{
byte[] data = br.ReadBytes((int)sr.Stream.Length);
string strBaseDir = string.Empty;
const string DelimStr = "/";
char[] delimiter = DelimStr.ToCharArray();
string[] dirsPath = fileName.Split(delimiter);
// Recreate the directory structure
for (int i = 0; i < dirsPath.Length - 1; i++)
{
strBaseDir = Path.Combine(strBaseDir, dirsPath[i]);
isoStore.CreateDirectory(strBaseDir);
}
using (BinaryWriter bw = new BinaryWriter(isoStore.CreateFile(fileName)))
{
bw.Write(data);
}
}
}
}
Вам также могут быть интересны конвертеры кэширования изображений, созданные Беном Грейсвудом и Питером Новаксом .Они оба показывают сохранение изображений в изолированное хранилище и загрузку их оттуда.