/ Elementów / listbox selecteditems nie można usunąć z powodu użycia ItemsSource - c #, listbox, selecteditem

wybranych elementów listy nie można usunąć z powodu użycia ItemsSource - c #, listbox, selecteditem

Potrzebuję pomocy w rozwiązaniu moich problemów. Kiedy korzystam z pola listy ItemSource w moim kodzie, wybranych elementów nie można usunąć. Bez użycia ListBox ItemsSource operacja usuwania działa. Dlaczego? Proszę, podaj mi swój kod duszy. Muszę dołączyć ItemsSource dla pola listy. Dzięki milion razy! O tak, używam C # 4.5 i WPF.

    public SendEmail(List<string> items, ItemCollection needsItems)
: this()
{
_needList = needsItems;

lstNeeds.ItemsSource = _needList;
}

//Remove selected Items not working

if (lstNeeds.SelectedItem != null)
{

for (int i = lstNeeds.SelectedItems.Count - 1; i >= 0; i--)
{
lstNeeds.Items.Remove(lstNeeds.SelectedItems[i]);
}
}

wprowadź opis obrazu tutaj

Odpowiedzi:

2 dla odpowiedzi № 1

Próbujesz usunąć element z kolekcji, nad którą iterujesz.


0 dla odpowiedzi nr 2

Spróbuj tego:

if (lstNeeds.SelectedItem != null)
{
List<Int32> selIdx = new List<Int32>();
foreach (var item in lstNeeds.SelectedItems)
selIdx.Add(lstNeeds.Items.IndexOf(item);
selIdx.Sort();  //necessary?
for (Int32 idx = selIdx.Count - 1; i >= 0; i--)
{
lstNeeds.Items.RemoveAt(selIdx[i]);
}
}