I m загрузка пути изображения из изолированных настроек хранения в моем приложении.Загрузка изображения из изолированного хранилища в наблюдаемую коллекцию не работает
[DataMember]
public string entryImage = "";
[DataMember]
public string EntryImage
{
get { return entryImage; }
set { entryImage = value; }
}
Использование вспомогательного класса для хранения изображения в изолированном файле хранилища.
public static void SaveImage(Stream imageStream, string directory, string filename)
{
try
{
string path = System.IO.Path.Combine(directory, filename);
using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
if (!isoStore.DirectoryExists(directory)) isoStore.CreateDirectory(directory);
using (var writeStream = isoStore.CreateFile(path))
{
byte[] buffer = new byte[32768];
while (true)
{
int read = imageStream.Read(buffer, 0, buffer.Length);
if (read <= 0)
return;
writeStream.Write(buffer, 0, read);
}
}
}
}
// Catch exception if unable to save the image
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Вот та часть, где я хранить ImagePath к ObservableCollection
MyDiaryItem _saveItems = new MyDiaryItem();
_saveItems.EntryNotes = InputText.Text;
_saveItems.EntryDate = date.ToString();
_saveItems.EntryImage = AppHelper.ImageDirectory + AppSettings.ImageFilename;
Где MyDiaryItem это наблюдаемая коллекция
public ObservableCollection<MyDiaryItem> diaryItems = null;
сохранить
Изолированное хранилище и нагрузки
void LoadSettings()
{
if (settings.Contains("DiaryItems"))
{
diaryItems = new ObservableCollection<MyDiaryItem>((List<MyDiaryItem>)settings["DiaryItems"]);
}
}
void SaveSettings()
{
//settings["DiaryItems"] = diaryItems.ToList();
if (diaryItems.ToList() != null)
{
settings.Clear();
settings.Add("DiaryItems", diaryItems.ToList());
settings.Save();
}
}
Вот XAML код источника
<ListBox toolkit:TiltEffect.IsTiltEnabled="true" Name="AllEntriesList"
Margin="0,0,-12,0"
SelectionChanged="AllEntriesList_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,0,0,17">
<Image Source="{Binding EntryImage}" Height="100" Width="100" Stretch="Fill" Margin="12,0,9,0" />
<StackPanel Margin="0,0,0,17" Width="350" Height="Auto">
<TextBlock Text="{Binding EntryLocation}" TextWrapping="Wrap" Style="{StaticResource PhoneTextLargeStyle}" />
<TextBlock Text="{Binding EntryNotes}" TextWrapping="Wrap" Style="{StaticResource PhoneTextNormalStyle}" />
<TextBlock Text="{Binding EntryDate}" TextWrapping="Wrap" Style="{StaticResource PhoneTextSubtleStyle}" />
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
изображения Я хочу некоторые, как использовать ImagePath retrived из изолированного хранилища, чтобы отобразить изображение в списке diaryitems.
Я загружаю все диариемы в моей функции OnNavigatedTo, как это.
AllEntriesList.ItemsSource = app.diaryItems;
Я вижу изображение, которое правильно заполнено в списке diaryItems. Я хочу отобразить изображение в списке diaryItems. Как это сделать ?
@MyKuLLSKI - Пожалуйста, не редактируйте вопрос, чтобы сказать, что это может быть дубликат. Это то, за чем закрываются или комментируются. –
@Erno - пожалуйста, покажите мне ссылку, где это правило цитируется. Спасибо – MyKuLLSKI
http://meta.stackexchange.com/questions/121652/adding-possible-duplication-above-original-question –