/ / listbox selecteditems não podem ser removidos devido ao uso de ItemsSource - c #, listbox, selecteditem

listbox selecteditems não podem ser removidos devido ao uso do ItemsSource - c #, listbox, selecteditem

Preciso que você ajude a corrigir meus problemas. Quando eu uso listbox ItemSource no meu código, itens selecionados não podem ser removidos. Sem usar o ListBox ItemsSource, a operação de remoção está funcionando. Por quê? Por favor, me dê seu código de alma. Eu preciso incluir ItemsSource para a caixa de listagem. Graças um milhão de vezes! Ah, sim, estou usando o C # 4.5 e o 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]);
}
}

insira a descrição da imagem aqui

Respostas:

2 para resposta № 1

Você está tentando remover um item da coleção na qual você está fazendo uma iteração.


0 para resposta № 2

Tente isto:

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]);
}
}