我有一个
public ObservableCollection<Canal> channelList { get; set; }
(我也试过一个List,Canal是一个类)。我从List中绘制了一些位于通道内部的数据。我还有一个显示每个频道名称的组合框。
我的问题是我不能这样做:
comboBox1.Items.Clear();
因为它给了我“当ItemsSource正在使用时操作无效。请改为使用ItemsControl.ItemsSource访问和修改元素。”错误。
数据是绑定的,但我不知道这是否重要。感谢
答案 0 :(得分:4)
在MSDN页面中,它说:
当使用ItemsSource时,将该属性设置为null将删除集合并将使用恢复为Items,这将是一个空的ItemCollection。
由于ItemsSource正在使用中,您必须将其设置为null才能清除项目:
comboBox1.ItemsSource = null;
答案 1 :(得分:1)
除非您想删除绑定(如其他答案所示),否则您必须清除绑定的 source 集合:
channelList.Clear();
您现在可以向channelList
添加新项目,这将更新ComboBox,因为绑定仍然完好。