为 collection UWP 中的每个项目生成一个组
Generate a group for each item in collection UWP
我想为我的 collection 中的每个项目生成一个组,主要想法是修复每个项目的 header 就像 android 中的 Instagram。
我的collection是这样的:
List<Selfie> selfiesBag = new List<Selfie>();
我将它显示在 listview
中 datatemplates
。
当滚动我的 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。
我想为我的 collection 中的每个项目生成一个组,主要想法是修复每个项目的 header 就像 android 中的 Instagram。
我的collection是这样的:
List<Selfie> selfiesBag = new List<Selfie>();
我将它显示在 listview
中 datatemplates
。
当滚动我的 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。