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