2015-12-31 2 views
0

У меня есть коллекция json (Collection of PhotoAlbums) & Каждый альбом содержит коллекцию json (Коллекция изображений).UWP: Коллекция коллекции

отобразить все изображения в (Albumb) Коллекция с помощью:

  var imageCollection = await App.DataModel.GetImageCollection(); 

Он читает JSon файлу & загружает изображения. Это вызывается при открытии любого альбома.

Моя проблема в том, что GetImageColleciton ищет один и тот же json-файл на всех альбомах, они имеют один и тот же ImageCollection.

Мне нужно найти способ отключить их. Я думаю, что найти способ сохранить разные json filles для каждого альбома будет лучше.

Любые лучшие практики для этого?

Когда приложение открывает, он создает как коллекцию альбома коллекции & изображений:

public DataSource() 
    { 
     _imageCollection = new ObservableCollection<ImageCollection>(); 
     _albumCollection= new ObservableCollection<AlbumCollection>(); 
    } 

Может быть, я мог только создать экземпляр коллекции альбомов & не коллекция изображений. Затем найдите способ присвоения каждой коллекции изображений альбому, в котором они были созданы.

ответ

0

У вас может быть коллекция изображений, каждое изображение с идентификатором. Затем коллекция альбомов. Альбом представляет собой набор идентификаторов изображений.

public class Image 
{ 
    public int Id {get; set; } 
    public Uri Url { get; set; } 
} 

public class Album 
{ 
    public ObservableCollection<int> ImageIds {get; set; } 
} 

public DataSource() 
{ 
    _imageCollection = new ObservableCollection<Image>(); 
    _albumCollection= new ObservableCollection<Album>(); 
} 
+0

Это отличная идея. Пока у моих изображений есть GUID, который я могу использовать, чтобы связать их с альбомом, у которого также есть GUID. Я пытаюсь обвести голову вокруг логики, поэтому в потоке создается альбом. затем в альбоме вы добавляете изображение. По мере добавления изображения он добавляет изображение в коллекцию всех изображений во всех альбомах. GUID образа добавляется к этой конкретной коллекции AlbumGUID. При просмотре изображений в альбоме. Foreach GUID в AlbumGUIDcollection добавляет изображение в AlbumImageCollection. Затем отобразите AlbumImageCollection. Я попробую! : D –

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