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の文字列型はアルファベット順にソートされ、列挙型の場合は列挙型番号のベースでソートされます。質問は、列挙型のカスタム比較が必要です。

4

1 に答える 1

1

できることは、ソースリストが実装されているIList場合、コレクションビューソースをキャストして、カスタムソートロジックを実装できるカスタムクラスでListCollectionView設定できますListCollectionView.CustomSortIComparer

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