2015-07-10 4 views
0

Я работаю в течение нескольких дней, пытаясь выяснить, как сохранять и загружать изображения в изолированное хранилище и из него. Вчера мне удалось исправить все проблемы, которые у меня были с их хранением, но теперь мне нужно добавить изображение в качестве значка в пункт меню, и я не знаю, что не так с моим кодом:Отображение изображения PNG с изолированного хранилища

var image = new System.Windows.Controls.Image(); 
using(var stream = new IsolatedStorageFileStream((string) (directory + file + ext), 
        FileMode.Open, IsolatedStorageFile.GetUserStoreForAssembly())) 
{ 
    image.Source = (BitmapSource) new PngBitmapDecoder(stream, 
        BitmapCreateOptions.PreservePixelFormat, 
        BitmapCacheOptions.Default).Frames[0]; 
} 

Menu menu = new Menu(); 
MenuItem item = new MenuItem(); 
item.Header = file; 
item.Icon = image; 
menu.Items.Add(item); 

Изображение появляется в меню в правильном размере, но это пустые изображения. Файл изображения показывает изображение просто отлично, когда я просматриваю его в Windows Photo Viewer.

Я все еще довольно новичок в C# и WPF (работает только с ним в течение 3 месяцев), и я ищу простое решение, которое не обязательно должно быть элегантным или универсальным; он просто должен работать.

ответ

0

Это цифра, что я отвечу на свой вопрос через полчаса после получения помощи. Просеивал Интернет в течение нескольких дней, пытаясь понять это, и он просто падает у меня на коленях. Мне просто нужно, чтобы создать экземпляр моего потока с правильным FileAccess:

Я только что заменил

using(var stream = new IsolatedStorageFileStream((string) (directory + file + ext), 
        FileMode.Open, IsolatedStorageFile.GetUserStoreForAssembly())) 

с

using(var stream = IsolatedStorageFile.GetUserStoreForAssembly().OpenFile(
        (string) (directory + file + ext), FileMode.Open, FileAccess.Read)) 

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

  • Нет связанных вопросов^_^