如果我在更改ListBox
的ItemsSource
屬性時選擇了一個項目,我得到IndexOutOfRange異常,因爲SelectedIndex
屬性在選擇項目時設置。如果在ListBox
中未選擇任何項目,則不會引發異常,但即使在更改ItemsSource
之前將SelectedItem
屬性設置爲null,如果選擇某個項目,SelectedIndex
屬性仍具有值,但仍會發生異常。更改列表框的ItemsSource屬性,當選擇項目時,會導致IndexOutOfRange異常
有沒有針對此問題的解決方案或解決方法?
編輯:下面是示例代碼,因爲這個問題只發生,如果我在LINQ應用Contains
過濾器對象表達和項目在列表框中選擇... MYLIST是CLR對象的List<>
...
lstMyList.ItemsSource = MyList.Where(i => i.TypeId == 1);
工作正常。這種改進的LINQ查詢也能正常工作(如果沒有選中的項),但如果選擇了一個項目,我得到IndexOutOfRangeException
lstMyList.ItemsSource = MyList.Where(i => i.TypeId == 1 && i.DisplayName.Contains(someString));
如果我重定向這個LINQ查詢到VAR或CLR對象的列表查詢工作正常,但當我嘗試使它成爲我的ListBox的ItemsSource時,我得到了異常(即使我使用這個var或我的ListBox的CLR對象ItemsSource的列表來代替)。
你能寫異常跟蹤! – Homam 2010-11-01 21:48:03