Arborescence multi-colonnes dans WPF
Ce que quelqu'un sait où je peux obtenir un contrôle comme le Multi-colonne d'Arborescence dans WPF?
source d'informationauteur Micah
Vous devez vous connecter pour publier un commentaire.
Ce que quelqu'un sait où je peux obtenir un contrôle comme le Multi-colonne d'Arborescence dans WPF?
source d'informationauteur Micah
Vous devez vous connecter pour publier un commentaire.
J'ai mis en œuvre en se fondant sur l'ancien blog ici. Mais si je me souviens bien j'ai fait un peu de travail manuel pour obtenir des choses à travailler. Spécifiquement avec les barres de défilement.
Mais qui devrait vous donner un bon départ.
SharpDevelop a
ListView
sous-classe appeléeSharpTreeView
à ce que vous recherchez.Vous pouvez voir un exemple vivant de ce contrôle dans SharpDevelop la "Montre" de la fenêtre:
XAML utilisé dans la fenêtre d'observation (comme dans 5.1.0 bêta):
La ressource est définie à la propriété en Vue d'un SharpTreeView de contrôle.
Il y a un article sur codeproject qui pourraient vous aider:
http://www.codeproject.com/KB/WPF/TreeListView.aspx
Il ya tout à fait quelques autres articlesau sujet de la Wpf TreeView.
Si vous n'avez pas besoin d'en-têtes de colonne, c'est assez facile. Vous pouvez simplement fournir un conteneur d'éléments de modèle, ajoutez fixe la largeur des colonnes de la grille à droite, et le lier à votre élément de données pertinentes.
La valeur par défaut de l'élément conteneur pour un TreeView a une grille définie comme (avec des commentaires):
Donc tout juste d'étendre cette grille pour contenir prévisible de la largeur des colonnes à droite et vous aurez colonnes.
Parties concernées:
Si l'ajout de la frontière est de la même largeur pour toutes les lignes, vous aurez une vue qui se sent comme un treeview avec des colonnes. Ce ne sera évidemment pas à l'échelle, mais si juste besoin d'un moyen rapide et sale de la solution, vous devriez être en mesure de le faire dans le mélange en quelques minutes, sans ajout de dépendances pour les contrôles externes /bibliothèques.
Nos besoins rapidement grandi et nous avons ajouté une grille avec des étiquettes de colonne à l'extérieur de l'arbre et lié aux données de la largeur des colonnes là pour les largeurs de ces "colonnes" [en fait la largeur d'un découpage de contrôle dans les colonnes en question l'utilisation de l'auto de la taille des colonnes]. Cela fonctionne, ce qui est tout ce que je vais dire pour sa défense.
Cette approche pourrait également être fait dans le générés élément de modèle, à la place de l'élément conteneur si vous n'avez pas l'esprit (ou l'envie) de la boîte de sélection (la "Bd" frontière) s'étendant à travers toutes les colonnes.