Quantcast
Channel: Windows Forms Data Controls and Databinding forum
Viewing all articles
Browse latest Browse all 2535

All Items Being Removed From ListBox.ItemsSource

$
0
0

I have a ListBox that is bound to an ObservableCollection. When  I click on the item in the ListBox, I want to remove it from the ListBox, and make another UI element visible based on which ListBoxItem was selected. Here is my code so far;

private void OnAddToFilterLBSelectionChanged(object sender, SelectionChangedEventArgs e)
{
    var _selectedItem = secondListBox.SelectedItem as FilterItem;
    if (_selectedItem != null)
    {
        if (_selectedItem.ID == 1)
        {
            currentItem.Visibility = Visibility.Visible;
        }
        else if (_selectedItem.ID == 2)
        {
            subbieItem.Visibility = Visibility.Visible;
        }
        else if (_selectedItem.ID == 3)
        {
            suppliersItem.Visibility = Visibility.Visible;
        }
        else if (_selectedItem.ID == 4)
        {
            plantHireItem.Visibility = Visibility.Visible;
        }
        else if (_selectedItem.ID == 5)
        {
            architectsItem.Visibility = Visibility.Visible;
        }
        else if (_selectedItem.ID == 6)
        {
            qsItem.Visibility = Visibility.Visible;
        }
        else if (_selectedItem.ID == 7)
        {
            projectManagerItem.Visibility = Visibility.Visible;
        }
        else if (_selectedItem.ID == 8)
        {
            structEngItem.Visibility = Visibility.Visible;
        }
        else if (_selectedItem.ID == 9)
        {
            servEngItem.Visibility = Visibility.Visible;
        }
        filterItems.Remove(_selectedItem);
    }
}
At present this method removes all filterItems from the ListBox regardless of what the _selectedItem.ID is equal to. What is strange is that if I add a MessageBox after the end of the Ifs it works correctly.



Viewing all articles
Browse latest Browse all 2535

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>