UWP - 从后面的代码动态更新列表视图源

UWP - Update listview source dynamic from code behind

我有一个群组项目。然后,组项目中的每个组,我将其放入列表视图

var Groups = query.GroupBy(query => query.Name);
foreach (var group in Groups)
            {
                if (group.records.Count() > 2)
                {
                    ListView listview = new ListView();
                    var itemsource = new ObservableCollection<FileProperties>();
                    var header = "";
                    foreach (var item in group.records)
                    {
                        header = item.Name;
                        itemsource.Add(new FileProperties(item.Name, item.Size, item.DateModified, item.Hash, item.Path, item.IsOrigin));
                    }
                    listview.ItemsSource = itemsource;
                    var itemsTemplate = (DataTemplate)this.Resources["Show"];
                    listview.ItemTemplate = itemsTemplate;
                    //test is mother listview
                    test.Items.Add(listview);
                }
            }

现在,我有一个问题,如果我在不重置母列表视图的情况下更改组项目中的值,我该如何更新列表视图UI

默认的ListView可以使用CollectionViewSource进行分组。无需为 parent ListView.

的每个组创建 child ListView

展示了如何创建分组ListView,你可以看看。或者网上有一堆demo,你google一下。

但这里最重要的一点是,通过使用默认分组ListView,我们可以简单地为整个ListView创建一个数据集合,修改项目源集合来更新分组children 自动,我们不再需要为每个组创建 ObservableCollections。