少し問題があります。配列があり、それをコンボボックスに追加したいので、AddRange メソッドを使用したいのですが、WPF では使用できません。コンボボックスで実行できる方法はありますか?
ありがとう。
いいえ、1つのステートメントでそれを行うことはできません。foreachを使用して配列をループし、各アイテムを個別に追加する必要があります。明らかに、これを頻繁に行う予定がある場合は、これをヘルパーメソッドまたは拡張メソッドにカプセル化できます。
ComboBox.ItemsSourceをObservableCollectionにデータバインディングしている場合(ComboBox.Itemsを直接操作するのではなく)、この質問への回答で説明されているように、個々のAddごとにコレクション変更通知を受け取らないようにするためのトリックがあります。
できませんが、linq を使用して AddRange をシミュレートすることはできます
そのようなものを書いてみてください:
ComboBox combo;
String[] arrOperator = new String[] { "=", "<", "<=", ">", ">=", "<>" };
combo = new ComboBox();
arrOperator.ToList().ForEach(item => comboRetVal.Items.Add(item));
あなたが試すことができます
comboBox1.ItemsSource = array;
コードビハインドでそのようなものを書いてみてください:
comboBox1.Items.AddRange(new [] {"Yellow"、 "DarkBlue"、 "Red"、 "Green"});
また
ArrayList array = new ArrayList();
array.Add( "1");
array.Add( "2");
comboBox1.Items.AddRange(array);