WPF ICollectionView组顺序和默认值

时间:2018-07-10 04:32:17

标签: c# wpf datagrid icollectionview

我有一些要在WPF的DataGrid中显示的项目的集合。

这些项目具有属性Status,可以是ApprovedPendingDraftArchived

我已经按照以下步骤设置了ICollectionView

formView = CollectionViewSource.GetDefaultView(Forms);
PropertyGroupDescription groupDescription = new PropertyGroupDescription("Status");
formView.GroupDescriptions.Add(groupDescription);

然后我将此视图绑定到DataGrid,它正确地分组并显示我的项目。

我的问题是,我需要“存档”位于列表的底部,并且默认情况下折叠,但是我的绑定自动将其置于其他状态之前。我该如何实现?

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以对源集合进行排序:

var formView = CollectionViewSource.GetDefaultView(Forms.OrderBy(x =>
{
    switch (x.Status)
    {
        case "Archived":
            return 1;
        default:
            return 0;
    }
}));

CollectionView

CollectionViewSource with custom sort