如何在WPF C#中使用组合框AddRange功能

5

我有一个小问题,我有一个数组并且想要将其添加到下拉框中,所以我想使用AddRange方法,但是在WPF中它不可用,有没有办法能够在下拉框中实现这个功能呢?

谢谢。

4个回答

5
您无法实现AddRange方法,但可以使用LINQ模拟它。尝试编写类似以下的代码:
    ComboBox    combo;
    String[]    arrOperator = new String[] { "=", "<", "<=", ">", ">=", "<>" };

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

5
你不能用单个语句完成它。你需要使用foreach循环遍历数组,逐个添加每个项目。如果你打算经常这样做,显然可以将其封装在辅助方法或扩展方法中。
如果你将ComboBox.ItemsSource数据绑定到ObservableCollection(而不是直接操作ComboBox.Items),则可以使用一种技巧来避免为每个单独的Add获取集合更改通知,这在this question的答案中有描述。

谢谢,出于某种奇怪的原因,我没有想到使用while循环,遍历条目然后输出它们。谢谢。 - Sandeep Bansal

2
你可以尝试。
 comboBox1.ItemsSource = array;

1
原帖中明确指出:“我想添加”,而不是设置,否则这将工作得很好。 - Firo

-5
尝试在代码后端编写类似以下的内容:

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

或者

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


没有 AddRange 这样的方法,因此我无法使用它,但还是谢谢。我已经找到了如何做到这一点。 - Sandeep Bansal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接