我有一个项目集合,正在WPF的DataGrid中显示。
这些项具有属性Status
,可以是Approved
、Pending
、Draft
或Archived
。
我设置了一个ICollectionView
,如下所示:
formView = CollectionViewSource.GetDefaultView(Forms);
PropertyGroupDescription groupDescription = new PropertyGroupDescription("Status");
formView.GroupDescriptions.Add(groupDescription);
然后,我将此视图绑定到DataGrid,它将正确地分组和显示我的项目。
我的问题是,我需要Archived位于列表的底部,并在默认情况下折叠,但我的绑定会自动将其置于其他状态之前。我怎样才能做到这一点?
谢谢。
您可以对源集合进行排序:
var formView = CollectionViewSource.GetDefaultView(Forms.OrderBy(x =>
{
switch (x.Status)
{
case "Archived":
return 1;
default:
return 0;
}
}));
或者CollectionView
:
具有自定义排序的CollectionViewSource