C# WPF zone de liste déroulante liste déroulante liste à plusieurs colonnes
Est-il possible de "forcer" la zone de liste déroulante d'éléments dans la liste en deux colonnes?
Par exemple comme ceci:
CB Élément Sélectionné
CB Item 1 | CB Article 4
CB Élément 2 | CB Article 5
CB Élément 3 |
Aucune raison particulière pour laquelle vous voulez aller à la verticale, puis horizontale?
Nous ne savons rien sur ce qui est le plus pour Kristo, et si vous voulez blâmer quelqu'un pour se soucier de l'INTERFACE utilisateur (ou curieux), alors je ne suis pas avec vous.
Je pensais fonctionnalité sage, si il avait 100 entrées, pour accéder à la 50e le client devra défiler vers le bas de la
S'il avait 100 ou 1000 entrées, il vaut mieux ne pas utiliser un Combo de toute façon 🙂
exactement
Nous ne savons rien sur ce qui est le plus pour Kristo, et si vous voulez blâmer quelqu'un pour se soucier de l'INTERFACE utilisateur (ou curieux), alors je ne suis pas avec vous.
Je pensais fonctionnalité sage, si il avait 100 entrées, pour accéder à la 50e le client devra défiler vers le bas de la
ComboBox
liste (depuis qu'ils allaient être commandés dans la moitié (verticalement) au lieu de deux-par-deux), au lieu de la moitié. Ce qui se passe quand il a des milliers?S'il avait 100 ou 1000 entrées, il vaut mieux ne pas utiliser un Combo de toute façon 🙂
exactement
OriginalL'auteur Kristo | 2013-02-04
Vous devez vous connecter pour publier un commentaire.
Vous pouvez modifier la ItemsPanel à un WrapPanel, il suffit de faire attention sur la hauteur (vous pourriez écrire un convertisseur de les calculer en fonction du nombre d'éléments) :
ItemTemplate
pour laComboBox
et à l'aide d'unItemsSource
au lieu de les mettre dans leComboBoxItem
individuellement?oui cela va fonctionner
oui ça fonctionne bien avec
DataTemplate
etItemsSource
... merci beaucoup @mathieu 🙂OriginalL'auteur mathieu
Bien, vous pouvez, voici le code XAML:
Maintenant un test simple, en ajoutant les chiffres de 0 à 8 donne:
Maintenant, vous pouvez style, tout ce que vous voulez... 🙂
Bien sûr, chaque élément (chaque numéro, dans ce cas particulier) est séparé, élément cliquable, juste pour qu'il n'y a pas de malentendus.
[EDIT] je viens de remarqué que vous voulez faire, c'est l'inverse", c'est dans les 'lignes' la direction, si oui, alors peut-être que c'est mieux d'utiliser des
WrapPanel
au lieu de cela, comme quelqu'un l'a suggéré dans l'autre réponse. LeUniformGrid
remplit la grille dans les colonnes de direction première.Peut-être il ya un moyen de le faire avec
UniformGrid
, mais il n'est pas évident et facile-cliquez sur modifier (j'ai eu tort ici avant 🙂 )Ouais, j'ai remarqué que, partant, la section d'ÉDITION. 🙂
merci de toute façon pour l'entrée, je pourrais utiliser UniformGrid plus tard 😉
OriginalL'auteur Patryk Ćwiek
Vous auriez besoin de mettre un
WrapPanel
dans leItemsPanel
de la zone de liste déroulante.OriginalL'auteur Michael Schnerring
vous pouvez essayer de changer le modèle de contrôle à utiliser la Grille et utiliser les convertisseurs de décider ce de ligne et de colonne de la cbitems sont. Je ne suis pas sûr de savoir comment vous feriez la poignée de l'élément sélectionné.
Ouais je vois ce que tu veux dire. En regardant l'exemple que les personnes fournis, je me rends compte de ce qu'il/elle l'a cherché.
OriginalL'auteur TYY