Ajouter des éléments à la zone de liste déroulante dans WPF
Quand j'ai ajouté une zone de liste déroulante de la fenêtre WPF, comment puis-je ajouter des articles à la zone de liste déroulante? Int le code XAML pour la conception ou dans NameOfWindow.xaml.cs fichier?
WPF est une grande fonctionnalité pour que. Elle est appelée "liaison de données". Pour commencer avec WPF ceci devrait vous aider.
ahem.. WinForms avait de liaison de données 🙂
Je ne mentionne pas le contraire. J'ai juste dit que WPFs de la liaison de données est une Fonctionnalité très intéressante 🙂
ahem.. WinForms avait de liaison de données 🙂
Je ne mentionne pas le contraire. J'ai juste dit que WPFs de la liaison de données est une Fonctionnalité très intéressante 🙂
OriginalL'auteur 3D-kreativ | 2012-08-09
Vous devez vous connecter pour publier un commentaire.
Scénario 1 - vous n'avez pas de source de données pour les éléments de la zone de liste déroulante
Vous pouvez simplement remplir la zone de liste déroulante avec les valeurs statiques comme suit:
À partir de XAML:
Ou, depuis le Code-behind:
Le scénario 2.a - vous avez une source de données, et les éléments ne jamais se changer
Vous peut utiliser la source de données pour remplir la zone de liste déroulante. Tout
IEnumerable
type peut être utilisé comme source de données. Vous devez l'affecter à laItemsSource
propriété de la zone de liste déroulante et qui va faire l'affaire (c'est à vous de décider comment vous remplir leIEnumerable
).Le scénario 2.b - vous avez une source de données, et les éléments sont susceptibles de se changer
Vous devrait utiliser un
ObservableCollection<T>
comme source de données, et de l'attribuer à l'ItemsSource
propriété de la zone de liste déroulante (c'est à vous de décider comment vous remplir leObservableCollection<T>
). À l'aide d'unObservableCollection<T>
garantit que, lorsqu'un élément est ajouté ou supprimé de la source de données, le changement se reflète immédiatement dans l'INTERFACE utilisateur.OriginalL'auteur atiyar
De son mieux pour construire ObservableCollection et en profiter
cbx est comobobox nom
Lire Aussi : La différence entre la Liste, ObservableCollection et INotifyPropertyChanged
OriginalL'auteur Pranay Rana
Utiliser cette
OU
Oui, C'est bon.
Aucun, je suis "vos options" deux fois!? C'est sur le "bouton", mais c'est aussi dans la liste qui descend orsque je clique sur la zone de liste déroulante!
Est-il un moyen de résoudre ce problème? Je veux un nom sur le bouton et quand je presse sur le bouton, je veux les éléments à goutte vers le bas, et pas le nom de ce bouton? Preciate si cela pouvait être fait!
OriginalL'auteur Nikhil Agrawal
Vous pouvez le remplir de XAML ou de .cs. Il existe peu de moyens pour remplir les contrôles avec les données. Il serait mieux pour Vous pour en savoir plus sur la technologie WPF, il permet de faire beaucoup de choses dans beaucoup de façons, en fonction de Vos besoins. Il est plus important de choisir une méthode basée sur les besoins de Votre projet. Vous pouvez commencer à ici. C'est un bon article sur la création de zone de liste déroulante, et de le remplir avec des données.
OriginalL'auteur Varius
Il y a de nombreuses façons d'accomplir cette tâche. Ici est simple:
Prochain, nous avons le code C#:
Remarque: C'est à l'aide de la réflexion.
Si vous souhaitez en savoir plus sur les bases de la réflexion et pourquoi vous pourriez vouloir l'utiliser, c'est un excellent article d'introduction:
Si vous souhaitez en savoir plus sur comment vous pouvez utiliser la réflexion avec WPF, plus précisément, voici quelques ressources:
Et si vous voulez massivement accélérer les performances de la réflexion, il est préférable d'utiliser de IL de le faire, comme ceci:
Version rapide de la ActivatorCreateInstance méthode utilisant IL
Dynamique rapide de la Propriété et le Champ des Accesseurs
OriginalL'auteur devinbost
Je pense que
comboBox1.Items.Add("X");
va ajouterstring
de zone de liste déroulante, au lieu deComboBoxItem
.La bonne solution est
OriginalL'auteur Eliko
Avec OleDBConnection -> se connecter à Oracle
C'est tout 🙂
OriginalL'auteur starko