我一直试图想出一种在代码隐藏中对DataGrid中的项目进行分组的方法。 我的DataGrid填充了自定义对象的List集合的代码隐藏,我想要的是在组中拆分这些对象。感谢
答案 0 :(得分:1)
您确实需要使用CollectionView,但CollectionView 基类型不支持分组。
要使分组在代码中工作,您需要使用一种实现分组的原始CollectionView类型,例如:
你使用这样的东西:
ListCollectionView lcv = new ListCollectionView(myCollection);
lcv.GroupDescriptions.Add(new PropertyGroupDescription("PropertyNameToGroupBy"));
MyDataGrid.ItemsSource = lcv;
通常,当您将集合直接设置为ItemSource时,WPF将自动为您创建一个CollectionView。
如果你想了解更多信息,Bea Stollnitz会谈到很多CollectionViews on her blog。答案 1 :(得分:0)
您可以将DataGrid
绑定到从对象列表中创建的CollectionView
。 CollectionView
支持分组。这不是真正的代码隐藏解决方案,但它非常易于使用。