为 collection UWP 中的每个项目生成一个组

Generate a group for each item in collection UWP

我想为我的 collection 中的每个项目生成一个组,主要想法是修复每个项目的 header 就像 android 中的 Instagram。

我的collection是这样的:

List<Selfie> selfiesBag = new List<Selfie>();

我将它显示在 listviewdatatemplates

当滚动我的 DataTemplate 项的 "part" 时,如何固定到顶部?

当您使用 Instagram 滚动 android 时,每张图片的 "Header" 固定在顶部,直到您滚动到新图片。

请测试以下程序:

1/ 将 CollectionViewSource 添加到您的页面资源中,例如:

<CollectionViewSource x:Name="CvsGroupedById" IsSourceGrouped="True"/>

2/ 创建一个查询并将其分配给您的 CVS,例如:

var query = from concert in DefaultViewModel.Concerts group concert by concert.Id into grp orderby grp.Key select grp;
CvsGroupedById.Source = query;

-> 如果要为每个项目创建一个组,concert.Id 应该是唯一的

3/ 设置你的ListView。

MasterListEvents.ItemsSource = CvsGroupedById.View;
  • 可选 - 更改您的 ListView.GroupStyle 以更新每个部分的 header。