2010-03-19 4 views

Répondre

5

Vous ne pouvez pas le faire en une seule instruction, non. Vous devrez faire une boucle sur le tableau en utilisant foreach, en ajoutant chaque élément individuellement. Évidemment, vous pouvez encapsuler cela dans une méthode d'aide ou d'extension si vous prévoyez de le faire beaucoup.

Si vous êtes le databinding ComboBox.ItemsSource à un ObservableCollection (plutôt que de manipuler ComboBox.Items directement), il y a un truc que vous pouvez utiliser pour éviter d'avoir des notifications de changement de collecte pour chaque Ajouter une personne, décrit dans les réponses à this question .

+0

Merci pour une raison étrange il n'a pas cliqué dans ma tête, j'ai utilisé une boucle while, en passant par les entrées et en les sortant juste en sortie. Merci. –

-4

Essayez d'écrire quelque chose comme ça dans codebehind:

comboBox1.Items.AddRange (nouveau [] { "jaune", "DarkBlue", "rouge", "vert"});

ou

tableau ArrayList = new ArrayList();
array.Add ("1");
array.Add ("2");
comboBox1.Items.AddRange (tableau);

+0

Il n'y a pas de méthode AddRange, donc je ne peux pas l'utiliser, mais merci quand même. J'ai découvert comment le faire. –

5

Vous ne pouvez pas mais vous pouvez utiliser LINQ pour simuler un AddRange

Essayez d'écrire quelque chose comme ça:

ComboBox combo; 
    String[] arrOperator = new String[] { "=", "<", "<=", ">", ">=", "<>" }; 

    combo = new ComboBox(); 
    arrOperator.ToList().ForEach(item => comboRetVal.Items.Add(item)); 
0

Vous pouvez

comboBox1.ItemsSource = array; 
+0

l'OP indique explicitement "Je veux ajouter" et ne pas définir autrement cela fonctionnerait bien – Firo

Questions connexes