我使用ItemsSource,当我想从列表中删除一个项目时,我收到一个错误。 错误: 只读集合不支持操作。
MenuItem menuItem = (MenuItem) sender;
MessageBox.Show(menuItem.Header.ToString(), "Result", MessageBoxButton.OK);
ListBoxItem lb (ListBoxItem)listBoxJournal.ItemContainerGenerator.ContainerFromItem(((MenuItem)sender).DataContext);
liste.Remove((Note)lb.Content);
listBoxJournal.UpdateLayout();
listBoxJournal.Items.Clear();
listBoxJournal.ItemsSource = liste;
我在行items.clear上收到错误。 感谢
答案 0 :(得分:4)
如果在ListBox上设置ItemsSource,则Items是内部生成且只读的。 因此,在这种情况下,您需要从supoplied项集合中删除该项。 如果集合实现了INotifyCollectionChanged,则集合更改将反映在列表框中。
ObservableCollection是一个实现了INotifyCollectionChanged
的列表答案 1 :(得分:4)
使用--- Listname.RemoveAt(ListBoxName.SelectedIndex);