WPF DataGrid - 代码隐藏C#中的组元素

时间:2009-08-18 13:59:20

标签: c# wpf datagrid

我一直试图想出一种在代码隐藏中对DataGrid中的项目进行分组的方法。 我的DataGrid填充了自定义对象的List集合的代码隐藏,我想要的是在组中拆分这些对象。感谢

2 个答案:

答案 0 :(得分:1)

您确实需要使用CollectionView,但CollectionView 基类型不支持分组。

要使分组在代码中工作,您需要使用一种实现分组的原始CollectionView类型,例如:

  • 的ListCollectionView
  • BindingListCollectionView

你使用这样的东西:

 ListCollectionView lcv = new ListCollectionView(myCollection);
 lcv.GroupDescriptions.Add(new PropertyGroupDescription("PropertyNameToGroupBy"));
 MyDataGrid.ItemsSource = lcv;

通常,当您将集合直接设置为ItemSource时,WPF将自动为您创建一个CollectionView。

如果你想了解更多信息,B​​ea Stollnitz会谈到很多CollectionViews on her blog

答案 1 :(得分:0)

您可以将DataGrid绑定到从对象列表中创建的CollectionViewCollectionView支持分组。这不是真正的代码隐藏解决方案,但它非常易于使用。