2012-03-12 10 views
6

Uso ItemsSource, cuando quiero eliminar un elemento de mi lista, aparece un error. Error: Operación no admitida en la recopilación de solo lectura.Cómo eliminar elementos de un cuadro de lista en el teléfono con 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; 

Aparece el error en la línea items.clear. Gracias

Respuesta

4

Si configura ItemsSource en el ListBox, los Elementos se generan internamente y son de solo lectura. Por lo tanto, en este caso, debe eliminar el elemento de la colección de elementos suplidos. Si la colección implementa INotifyCollectionChanged, los cambios en la colección se reflejan en el cuadro de lista.

ObservableCollection es una lista que implementa INotifyCollectionChanged

4

uso que --- Listname.RemoveAt (ListBoxName.SelectedIndex);

Cuestiones relacionadas