Ну, это довольно легко. Вы используете ListBox для установки ItemsPanel в WrapPanel и либо привязываете ItemsSource к ObservableCollection (или List/Array, но ObservableCollection лучше подходит для Bindings).
Существует множество способов сделать это Давайте рассмотрим самый простой подход. В XAML вы определяете ListBox:
<ListBox x:Name="listbox">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Margin="5"
Background="{StaticResource PhoneChromeBrush}"
Height="180"
Width="180">
<Image Source="{Binding}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
В своем коде позади, вы можете загрузить изображения с чем-то вроде этого:
ObservableCollection<BitmapImage> images = new ObservableCollection<BitmapImage>();
List<String> bitmapuris = ....
using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
foreach(var bitmapuri in bitmapuris)
{
System.Windows.Media.Imaging.BitmapImage bitmap = new System.Windows.Media.Imaging.BitmapImage();
if (isoStore.FileExists(bitmapuri))
{
using (IsolatedStorageFileStream stream = isoStore.OpenFile(bitmapuri, System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
bitmap.CreateOptions = System.Windows.Media.Imaging.BitmapCreateOptions.BackgroundCreation;
bitmap.SetSource(stream);
}
}
images.Add(bitmap);
}
}
listbox.ItemsSource = images;
С bitmapuris быть список со всеми сохраненными изображениями URLs.
То пояснит, что я использую в некоторых из моих приложений (хотя я использую ViewModels и привязки и не установлен ItemsSource вручную)
Надеется, что это помогает
редактировать: О том, как захватить и сохранить изображения, которые вы можете прочитать эту статью: http://www.c-sharpcorner.com/UploadFile/mahakgupta/capture-save-and-edit-image-in-windows-phone-7/
Я бы сохранил изображения в определенной папке, то есть «/ Images /». Таким образом, вы можете загрузить все изображения, которые вы ранее захваченные на вас приложении начинается с кодом, который я написал выше с List<String> bitmapuris
набором с помощью этого метода:
List<String> getFiles(String folderpath)
{
IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication();
return storage.GetFileNames(folderpath).ToList();
}
как этого List<String> bitmapuris = getFiles("/Images/*");
и когда вы захватили изображение, которое вы можете просто добавить изображение в ListBox таким образом:
System.Windows.Media.Imaging.BitmapImage bitmap = new System.Windows.Media.Imaging.BitmapImage();
bitmap.CreateOptions = System.Windows.Media.Imaging.BitmapCreateOptions.BackgroundCreation;
bitmap.SetSource(myimagestream);
images.Add(bitmap);
обеспечивая изображениями являются ObservableCollection<BitmapImage>
установить как ItemsSource вашей ListBox.
Это почти ваше полностью работающее приложение, когда оно составлено по ссылке сверху.
@Stefan .. Спасибо, это дало мне приблизительное представление о том, что я предполагаю, но если есть пример приложения или полный исходный код, это будет очень полезно, еще раз спасибо – Jordan
Что именно вы нужно, я не могу написать все ваше приложение для вас ... –
@Stefan .. Я вполне доволен вашим кодом xaml, но когда дело доходит до его фактического кода, я думаю, что я немного расстраиваю. Все, что я хочу сделать, это иметь страницу, которая позволяет мне снимать изображения и сохранять их в изолированном хранилище, затем извлекать одинаковое изображение и отображать его на странице и т. Д. Поэтому я хочу, чтобы страница имела возможность хранить много захваченных изображений в виде списка.Спасибо за помощь в любом случае, надеюсь, что вы можете мне помочь еще больше – Jordan