0

此代码运行良好

 ICollectionView dataView = CollectionViewSource.GetDefaultView(this.ItemsSource);

            if (dataView != null)
            {
                // Specify the new sorting information.
                dataView.SortDescriptions.Clear();
                var description = new SortDescription(propertyName, _sortDirection);
                dataView.SortDescriptions.Add(description);

                dataView.Refresh();               
            }

对于属性 ir 的 exaple 字符串类型按字母顺序排序,对于枚举,它以枚举编号为基数排序,问题是我想要对枚举进行自定义比较。

4

1 回答 1

1

你可以做什么,如果你源列表实现IList,你可以将你的集合视图源转换为自定义类ListCollectionView并设置ListCollectionView.CustomSort自定义IComparer类,你可以在其中实现自定义排序逻辑

ListCollectionView dataView = (ListCollectionView)(CollectionViewSource.GetDefaultView(this.ItemsSource));
dataView.CustomSort = new MyCustomSort();
于 2013-07-08T14:19:45.850 回答