Bonjour à tous,
j'ai une treeview, avec des elements.
Je souhaiterais pouvoir trier les elements d'un de mes TreeViewItem par ordre alphabétique. Par exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Racine -Niveau1 --Nouveau Dossier3 --Nouveau Dossier2 --Nouveau Dossier1 -Niveau2 --Nouveau Dossier3 --Nouveau Dossier2 --Nouveau Dossier1 -Autre niveau --Nouveau Dossier3 --Nouveau Dossier2 --Nouveau Dossier1
En faisant un tri sur "Niveau2", je souhaiterais avoir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Racine -Niveau1 --Nouveau Dossier3 --Nouveau Dossier2 --Nouveau Dossier1 -Niveau2 --Nouveau Dossier1 --Nouveau Dossier2 --Nouveau Dossier3 -Autre niveau --Nouveau Dossier3 --Nouveau Dossier2 --Nouveau Dossier1
Mon probléme est que je n'arrive pas a faire un "Items.SortDescriptions".
Actuellement, chacun de mes "TreeViewItem" sont définis comme cela:
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 dim monItem as TreeViewItem Dim pan As StackPanel = New StackPanel() pan.Orientation = Orientation.Horizontal 'Creation de l'icone Dim icon As BitmapImage = New BitmapImage(New Uri("pack://application:,,,/Images/NetObject.png")) 'Creation du conteneur de l'image Dim image As Image = New Image() image.Height = 16 image.Source = icon 'Ajout de l'image au panel pan.Children.Add(image) 'Ajout du texte au panel pan.Children.Add(New TextBlock(New Run("Test de l'Item"))) 'Ajout du panel à l'item e.Header = pan e.Tag = "Identifiant de l'item"
J'ai donc un TreeViewItem qui contient un StackPanel. Dans ce stack panel j'ai une image et du texte.
J'ai essayé de faire mon tri avec:
mais le problème ben c'est que çà ne fonctionne pas, il ne récupére pas le contenu texte du panel... Est-ce que quelqu'un aurait une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 monItem.Items.SortDescriptions.Clear() monItem.Items.SortDescriptions.Add(New System.ComponentModel.SortDescription("Header", System.ComponentModel.ListSortDirection.Ascending)) monItem.Items.Refresh()
Merci![]()
Partager