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 自动,我们不再需要为每个组创建 ObservableCollection
s。
我有一个群组项目。然后,组项目中的每个组,我将其放入列表视图
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
.
ListView
ListView
,你可以看看。或者网上有一堆demo,你google一下。
但这里最重要的一点是,通过使用默认分组ListView
,我们可以简单地为整个ListView
创建一个数据集合,修改项目源集合来更新分组children 自动,我们不再需要为每个组创建 ObservableCollection
s。