2015-12-31 31 views
0

我有一个json集合(集合PhotoAlbums)&每个专辑拥有一个json集合(图像集合)。UWP:集合

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

它读取一个JSON文件加载&图像:

我使用显示在(Albumb)收集的所有图像。当您打开任何专辑时会调用它。

我的问题是因为GetImageColleciton在所有相册上查找相同的json文件,它们共享相同的ImageCollection。

我需要找到一种方式将它们断开。我在想,找到一种方法来为每张专辑保存不同的json文件将是最好的。

要完成此任务的最佳实践?

当应用程序打开时,会同时创建一个相册收藏&图像采集:

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

也许我只能实例专辑&不是图像集合的集合。然后找到一种方法将每个图像集合分配到创建它们的相册中。

回答

0

您可以拥有一组图像,每个图像都有一个ID。然后,收集相册。专辑是图像ID的集合。

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集合中。查看相册中的图像时。 AlbumGUIDcollection中的Foreach GUID将图像添加到AlbumImageCollection。然后显示AlbumImageCollection。我会试一试! :d –