Wpf 如何使用CollectionViewSource对listview中的组进行排序?
结果我希望。。。是这样的Wpf 如何使用CollectionViewSource对listview中的组进行排序?,wpf,xaml,sorting,collectionviewsource,Wpf,Xaml,Sorting,Collectionviewsource,结果我希望。。。是这样的 Group A - Invoice("cd", 06-24-2015) - Invoice("car", 06-01-2015) Group B - Invoice("cd", 04-21-2015) - Invoice("car", 06-17-2015) Group C - Invoice("cd", 07-02-2015) - Invoice("car", 06-08-2015) 组顺序为C组->A组->B组。 因为每个groupitems的最近日期都是结果
Group A
- Invoice("cd", 06-24-2015)
- Invoice("car", 06-01-2015)
Group B
- Invoice("cd", 04-21-2015)
- Invoice("car", 06-17-2015)
Group C
- Invoice("cd", 07-02-2015)
- Invoice("car", 06-08-2015)
组顺序为C组->A组->B组。
因为每个groupitems的最近日期都是结果的比较目标
C组的最近日期为2015年2月7日。
A组的最近日期为2015年6月24日。
B组的最近日期为2015年6月17日
结果是C->A->B
如何实现这一目标?这应该是可行的:
Group C
- Invoice("cd", 07-02-2015)
- Invoice("car", 06-08-2015)
Group A
- Invoice("cd", 06-24-2015)
- Invoice("car", 06-01-2015)
Group B
- Invoice("cd", 04-21-2015)
- Invoice("car", 06-17-2015)
添加了.Net 4.6.2,其工作方式与CollectionViewSource.SortDescriptions
相同,并允许您提供IComparer
对象。感谢您的回复。您的解决方案似乎只是用于组排序。。。我想根据组中项目的日期属性进行组排序。但我还没有找到解决办法。
Group C
- Invoice("cd", 07-02-2015)
- Invoice("car", 06-08-2015)
Group A
- Invoice("cd", 06-24-2015)
- Invoice("car", 06-01-2015)
Group B
- Invoice("cd", 04-21-2015)
- Invoice("car", 06-17-2015)
<CollectionViewSource x:Key="messages" Source="{Binding src}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Group"/>
</CollectionViewSource.GroupDescriptions>
<CollectionViewSource.SortDescriptions>
<SortDescription PropertyName="Date" Direction="Descending" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>