2012-03-12 32 views
6

我使用ItemsSource,當我想從列表中刪除一個項目時出現錯誤。 錯誤: 操作在只讀集合上不受支持。如何刪除Windows 7手機上的列表框中的項目?

 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; 

我得到了item.clear行上的錯誤。 謝謝

回答

4

如果您在ListBox上設置ItemsSource,則Items是內部生成的並且是隻讀的。 因此,在這種情況下,您需要從supoplied項目集合中刪除項目。 如果集合實現INotifyCollectionChanged,則集合更改將反映在列表框中。

的ObservableCollection是實現INotifyCollectionChanged

列表
4

使用該--- Listname.RemoveAt(ListBoxName.SelectedIndex);