J'ai une fenêtre WPF qui affiche un ListBox
. J'ai modifié le modèle d'élément ListBox
afin que la zone de liste affiche les éléments rectangulaires qui peuvent être sélectionnés.Modifier la façon dont les éléments sont affichés Zone de liste WPF
Maintenant, je voudrais modifier le ListBox
ItemsPanelTemplate
de sorte que les éléments sont affichés dans une grille au lieu d'une liste verticale ou horizontale. Plus précisément, j'aimerais que le premier élément apparaisse dans le coin supérieur droit du ListBox
, puis le deuxième sous-objet et le troisième sous ce point jusqu'à ce que la hauteur de l'élément suivant rende la colonne plus haute que la hauteur du ListBox
lui-même. À ce stade, il devrait commencer une deuxième colonne directement à la droite du premier élément ajouté. Si la largeur totale de toutes les colonnes combinées était supérieure à la largeur du ListBox
, une barre de défilement horizontale devrait apparaître.
Y at-il un moyen d'obtenir cet effet simplement en modifiant le ItemsPanelTemplate
ou dois-je étendre la classe ListBox
elle-même? Dans les deux cas, comment pourrais-je m'en occuper?
Merci pour votre aide!
Merci pour l'aide! Cela résout essentiellement cela, mais le code ci-dessus 'tel quel' crée simplement une longue liste verticale. L'astuce pour l'obtenir pour créer une grille comme je l'ai décrit est d'ajouter cet attribut à la balise ListBox: ScrollViewer.VerticalScrollBarVisibility = "Désactivé" – Evan