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]);
}
}
Respostas:
2 para resposta № 1Você 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]);
}
}