Операция не поддерживается в коллекции только для чтения - PullRequest
3 голосов
/ 21 июня 2011

У меня есть ListBox со строками, где каждая строка состоит из «Image» и «TextBlock». Когда я удаляю одну строку в конце с кодом вроде:

 this.UserListBox.Items.RemoveAt(this.UserListBox.SelectedIndex);

Там он выдает исключение:

Операция не поддерживается в коллекции только для чтения.

Как удалить строку из списка?

Я пишу приложение для Windows Phone 7.

Ответы [ 2 ]

4 голосов
/ 21 июня 2011

Если вы установите ItemsSource в ListBox, то Items будут сгенерированы внутри и доступны только для чтения. В этом случае вам необходимо удалить элемент из коллекции предоставленных элементов. Если коллекция реализует INotifyCollectionChanged, то изменения коллекции отражаются в списке.

0 голосов
/ 26 ноября 2011

Вместо привязки List к списку itemsSource вашего списка вы должны использовать ObservableCollection.Это решит проблему.ObservabeCollection имеет метод Remove, который вы можете использовать

UserListBox.Items.Remove(this.UserListBox.SelectedItem);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...