无法从comboBox中删除项目c#

时间:2013-05-12 00:03:58

标签: c# wpf combobox

我有一个

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

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

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

comboBox1.Items.Clear();

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

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

2 个答案:

答案 0 :(得分:4)

MSDN页面中,它说:

  

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

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

comboBox1.ItemsSource = null;

答案 1 :(得分:1)

除非您想删除绑定(如其他答案所示),否则您必须清除绑定的 source 集合:

channelList.Clear();

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