WPF-ICollectiveView SortDescriptions——按字符串排序但忽略nullorwhitespace?
基本上,我有一系列的物品。我想对字符串属性进行排序。问题是,当我升序时,任何空字符串都会显示在列表的顶部WPF-ICollectiveView SortDescriptions——按字符串排序但忽略nullorwhitespace?,wpf,nssortdescriptor,string,icollectionview,Wpf,Nssortdescriptor,String,Icollectionview,基本上,我有一系列的物品。我想对字符串属性进行排序。问题是,当我升序时,任何空字符串都会显示在列表的顶部 ICollectionView view = CollectionViewSource.GetDefaultView(MyCollection); view.SortDescriptions.Add(new SortDescription("MyProperty", ListSortDirection.Ascending)); 结果列表: “”(String.Empty) “”(Strin
ICollectionView view = CollectionViewSource.GetDefaultView(MyCollection);
view.SortDescriptions.Add(new SortDescription("MyProperty", ListSortDirection.Ascending));
结果列表:“”(String.Empty)
“”(String.Empty)
“”(String.Empty)
A
B
C
D
我必须创建自己的SortDescription类还是其他什么吗?你能给类添加另一个属性以返回正确的排序键吗?我真的不想弄乱对象设计本身,我还希望有一个解决方案可以全面应用,因为我有许多类型的对象。@michael:嗯,这种问题正是MVVM的用武之地。在对象的顶部构造一些ViewModel,为它们提供必要的属性。@Fyodor:除了我不想在ViewModel上对项目排序之外。我的ViewModel不应该关心或迎合使用它的特定视图。另一方面,我的视图希望获取传递给它的集合,并以特定的方式对其进行排序。@michael:这种事情正是ViewModel的工作。虽然我不会在ViewModel上执行排序本身。我只是将排序键作为一个单独的属性公开。