【问题标题】:UWP: Collection of a collectionUWP:集合的集合
【发布时间】:2015-12-31 01:13:05
【问题描述】:

我有一个 json 集合(PhotoAlbums 集合),每个相册都有一个 json 集合(图像集合)。

我使用以下方法显示 (Albumb)Collection 中的所有图像:

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

它读取一个 json 文件并加载图像。当您打开任何相册时会调用它。

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

我需要找到断开它们的方法。我认为最好找到一种方法来为每张专辑保存不同的 json 填充。

有什么最佳实践可以做到这一点吗?

当应用打开时,它会同时创建一个相册集和图像集:

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

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

【问题讨论】:

    标签: c# json observablecollection uwp


    【解决方案1】:

    您可以拥有一组图像,每个图像都有一个 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>();
    }
    

    【讨论】:

    • 这是个好主意。到目前为止,我的图像都有一个 GUID,我可以使用它来将它们关联到一个也有 GUID 的相册。我试图围绕逻辑思考,因此在流程中创建了一张专辑。然后在相册中添加图像。当您添加图像时,它会将图像添加到所有相册中所有图像的集合中。图像 GUID 被添加到特定的 AlbumGUID 集合中。查看相册中的图像时。 AlbumGUIDcollection 中的 Foreach GUID 将图像添加到 AlbumImageCollection。然后显示 AlbumImageCollection。我试试看!! :D
    猜你喜欢
    • 1970-01-01
    • 2017-11-06
    • 2010-10-07
    • 2012-08-27
    • 2012-05-10
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多