我使用 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 上收到错误消息。
谢谢
最佳答案
如果在 ListBox 上设置 ItemsSource,则 Items 是内部生成的并且是只读的。
因此,在这种情况下,您需要从提供的项目集合中删除该项目。
如果集合实现 INotifyCollectionChanged,则集合更改将反射(reflect)在列表框中。
ObservableCollection 是一个实现 INotifyCollectionChanged 的列表
关于windows-phone-7 - 如何从 Windows 7 手机的列表框中删除项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9663890/