Bonjour,

tout est dans le titre ! j'ai une ListView bindé sur des instances d'une classe personnalisé.
Parmi les colonnes, une est bindé sur un attribut de la classe, cette attribut est de type List<UnAutreType>

J'utilise un Converter pour afficher le contenu de la liste dans une seule cellule (chaine séparé par des ";").

J'ai également un système de tri sur l'entête de chaque colonne, mais pour l'entête de la colonne contenant une liste ds chaque cellule, ça plante avec une
"InvalidOperationException ( impossible de trier des List<T> )"
voila le code de mon tri:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
private void GridViewColumnHeader_Click(object sender, RoutedEventArgs e)
        {
            DependencyObject o = VisualTreeHelper.GetParent((sender as GridViewColumnHeader));
            while (o.GetType() != typeof(ListView))
                o = VisualTreeHelper.GetParent(o);
 
            Sort((sender as GridViewColumnHeader).Tag.ToString(), _direction, o as ListView);
 
            if (_direction == ListSortDirection.Ascending)
                _direction = ListSortDirection.Descending;
            else
                _direction = ListSortDirection.Ascending;
        }
 
        private void Sort(string sortBy, ListSortDirection direction, ListView lv)
        {
            if (lv.ItemsSource != null && lv.Items.Count > 0)
            {
                ICollectionView dataView = CollectionViewSource.GetDefaultView(lv.ItemsSource);
                dataView.SortDescriptions.Clear();
                SortDescription sd = new SortDescription(sortBy, direction);
                // plante sur cette ligne :(
                dataView.SortDescriptions.Add(sd);
                dataView.Refresh();
            }
        }
 
// Note : je stocke le nom de l'attribut à trier dans le tag de GridViewColumnHeader...
Enfin, ma question est donc : comment trier sur la valeur affichée par le Converter plutôt que par les attributs eux même ? (enfin je pense que ce sera la solution..., peut être y'a t'il mieux )

Merci, bonne année