WPF DataGrid CustomSort pour chaque colonne

J'ai un WPF DataGrid lié à un objet collectionviewsource qui encapsule une ObservableCollection. Cet objet collectionviewsource a deux objectifs principaux:

1) de groupe De chaque élément par une propriété spécifique de T. je suis à l'aide d'un ValueConverter dans le GroupDescription pour obtenir le regroupement de comportement que je veux.

2) Pour trier la grille par un), principalement le nom du groupe (tel que défini ci-dessus) et b) les éléments de groupe. Je suis atteinte de cet par la fixation d'une coutume IComparer à l'objet collectionviewsource " CustomSort la propriété.

Cela fonctionne très bien pour la plupart, cependant dès qu'un en-tête de colonne est cliqué, la logique de tri est remplacée. Je ne veux pas désactiver le tri, mais je me demandais si il était possible d'attribuer un ordre de tri personnalisé pour une colonne spécifique?

Pour rendre les choses un peu plus clair, supposons qu'un utilisateur clique sur 'ColumnA' - à l'heure actuelle, la logique de tri encapsulé par mon CustomSorter est ignorée et le contrôle DataGrid est maintenant triée par cette propriété. Plutôt que le tri par la propriété sélectionnée, je voudrais, au lieu d'inverser la logique de la CustomSorter.

source d'informationauteur trilson86