private void btnDelete_Click(object sender, RoutedEventArgs e) { List <object> selected = new List <object>(); foreach (var p in lstBxParticipants.SelectedItems) { selected.Add(p); } foreach (var p in selected) { Person pToDelete = p as Person; if (pToDelete == null) { return; } BusyWndSingleton.Show("Deleting person..."); try { //remove the participant from UI persons.Remove(pToDelete); lstBxParticipants.Items.Refresh(); changesExist = true; DaoUtils.deletePersonAndPoints(pToDelete); } finally { BusyWndSingleton.Hide(); } } }