2012-03-12 11 views
6

Używam ItemsSource, kiedy chcę usunąć element z mojej listy, pojawia się błąd. Błąd: Operacja nie jest obsługiwana w przypadku kolekcji tylko do odczytu.Jak usunąć elementy z pola listy w telefonie z systemem 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; 

Dostaję błąd w wierszu items.clear. Dzięki

Odpowiedz

4

Po ustawieniu ItemsSource na ListBox, elementy są wewnętrznie generowane i tylko do odczytu. W tym przypadku musisz usunąć element z kolekcji przedmiotów z supermocią. Jeśli kolekcja implementuje INotifyCollectionChanged, zmiany kolekcji są odzwierciedlane w polu listy.

ObservableCollection to lista realizowane INotifyCollectionChanged

4

użycie że --- Listname.RemoveAt (ListBoxName.SelectedIndex);

Powiązane problemy