2

我有一个

public ObservableCollection<Canal> channelList { get; set; }

(我也试过一个List,Canal是一个类)。我从列表中绘制了通道内的一些数据。而且我还有一个显示每个频道名称的组合框。

我的问题是我不能这样做:

comboBox1.Items.Clear();

因为它给了我“在使用 ItemsSource 时操作无效。改为使用 ItemsControl.ItemsSource 访问和修改元素。” 错误。

数据是绑定的,但我不知道这是否重要。谢谢

4

2 回答 2

4

MSDN页面中,它说:

当使用 ItemsSource 时,将属性设置为 null 会删除集合并恢复对 Items 的使用,这将是一个空的 ItemCollection。

因为 ItemsSource 正在使用中,所以您必须将其设置为 null 才能清除项目:

comboBox1.ItemsSource = null;
于 2013-05-12T00:27:22.953 回答
1

除非您想删除绑定(如其他答案所建议的那样),否则您必须清除作为绑定来源的集合:

channelList.Clear();

您现在可以向 中添加新项目channelList,这将更新 ComboBox,因为绑定仍然完好无损。

于 2013-05-12T06:14:07.207 回答