4

少し問題があります。配列があり、それをコンボボックスに追加したいので、AddRange メソッドを使用したいのですが、WPF では使用できません。コンボボックスで実行できる方法はありますか?

ありがとう。

4

4 に答える 4

5

いいえ、1つのステートメントでそれを行うことはできません。foreachを使用して配列をループし、各アイテムを個別に追加する必要があります。明らかに、これを頻繁に行う予定がある場合は、これをヘルパーメソッドまたは拡張メソッドにカプセル化できます。

ComboBox.ItemsSourceをObservableCollectionにデータバインディングしている場合(ComboBox.Itemsを直接操作するのではなく)、この質問への回答で説明されているように、個々のAddごとにコレクション変更通知を受け取らないようにするためのトリックがあります。

于 2010-03-19T01:45:24.023 に答える
5

できませんが、linq を使用して AddRange をシミュレートすることはできます

そのようなものを書いてみてください:

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

    combo = new ComboBox();
    arrOperator.ToList().ForEach(item => comboRetVal.Items.Add(item));
于 2011-09-21T20:06:00.127 に答える
1

あなたが試すことができます

 comboBox1.ItemsSource = array;
于 2012-03-22T03:45:07.840 に答える
-5

コードビハインドでそのようなものを書いてみてください:

comboBox1.Items.AddRange(new [] {"Yellow"、 "DarkBlue"、 "Red"、 "Green"});

また

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

于 2010-03-19T01:45:42.883 に答える