Net Maui上的收藏视图中,我尝试创建类别,然后创建每个类别的项目。这对于视图模型和Linq、列表甚至数组索引来说都是微不足道的。例如在Blazor中
foreach(var cat in viewModel.Categories)
{
<select id="@cat" binding=@viewModel.Categories.Where(z=> z.Category == cat)>
</select>
}
但我在使用CollectionView时遇到了问题
<CollectionView x:Name="collectionViewMenuPerCategory" ItemsSource="{Binding Categories}" ItemsLayout="VerticalList" Margin="10" >
<CollectionView.ItemTemplate>
<DataTemplate>
<VerticalStackLayout>
<Label text="{Binding CategoryName}" FontSize="34">
<CollectionView x:Name="CollectionViewPerCategory" ItemsSource="{Binding Source={RelativeSource AncestorType={x:Type local:MenuViewModel}}, Path=Menu.Items.Where(z=> z.Category == @CategoryName?}" ItemsLayout="VerticalList">
<!-- Each Item in sub collectionview for each category -->
</CollectionView>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
我已经看到了WPF的ICollectionView过滤,但没有看到毛伊岛的
1条答案
按热度按时间irtuqstp1#
是的,
CollectionView
支持显示分组数据,并定义了以下属性来控制分组数据的显示方式:bool
的IsGrouped指示基础数据是否应按组显示。此属性的默认值为false。DataTemplate
,用于每个组的页眉的模板。DataTemplate
,用于每个组的页脚的模板。这些属性由
BindableProperty
对象支持,这意味着这些属性可以是数据绑定的目标。因此,分组数据的过程是:
有关详细信息,您可以查看文档:Display grouped data in a CollectionView。