I'm attempting to re-sort my list when adding/removing from it by storing to a list and then sorting it. When I run my application, the new items added to the list are always added to the bottom instead of sorted.
FileCabinetsRetreived is my first ListBox and FileCabinetsToAdd is my second list box.
private void addBttn_Click(object sender, RoutedEventArgs e)
{
List<string> allItems = new List<string>();
List<string> addedItems = new List<string>();
List<string> remainingItems = new List<string>();
//adding all items in FileCabinetsretreived into allItems list
foreach (var item in FileCabinetsRetrieved.Items)
{
allItems.Add(item.ToString());
}
//sorting all items list
allItems = allItems.OrderBy(x => x).ToList();
//adding Selected items to addedItems list
foreach (var item in FileCabinetsRetrieved.SelectedItems)
{
addedItems.Add(item.ToString());
}
//sorting addedItems list
addedItems = addedItems.OrderBy(x => x).ToList();
// creating list of remaining items = allitems - addedItems
remainingItems = allItems.Except(addedItems).ToList();
//sorting remainingItems list
remainingItems = remainingItems.OrderBy(x => x).ToList();
//adding list of selected items to the FileCabinetsToAdd list
foreach (var item in addedItems)
{
FileCabinetsToAdd.Items.Add(item);
}
//clearing FileCabinetsRetreived list
FileCabinetsRetrieved.Items.Clear();
//adding remainingItems list to FileCabinetsRetreived list
foreach (var item in remainingItems)
{
FileCabinetsRetrieved.Items.Add(item.ToString());
}
}