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