我創建了一個Listview原型應用程序,通過它的itemsource屬性以編程方式綁定到ObservableCollection。一切都很好,直到一天前ListView在第一次引發事件後停止提升SelectionChanged事件。例如。在ListView中選擇一行,引發SelectionChanged事件,UI選擇ListView中的第一行,無論你做什麼,然後任何嘗試選擇行對ListView都沒有影響,無論是在選擇點擊行或舉辦活動。第一次引發事件後,WPF ListView不會引發SelectionChanged事件
到目前爲止,我已經確定,如果我從窗口中刪除所有超級代碼,它並不能解決問題。如果我將代碼移植到新項目中,它不能解決問題。但是,如果我在新項目中手動重新實現相同的代碼,問題不會出現,但與Beyond Compare相比,代碼似乎完全相同。
我還通過清除SelectionChanged事件處理程序中的listview中的所有選擇來部分消除問題,這似乎解決了問題,但意味着行從不出現在Listview中選定的位置。
我在這個機智的結尾。
你必須告訴更多關於你的情況。你如何填充'ListView'?即如果你設置了'ItemsSource',那麼這個集合是什麼?它裏面的元素的類型是什麼?還要注意'ItemsControl'在顯示相同項目或項目的多個實例時存在問題(您是否覆蓋了 .Equals?)。 –
repka
2010-07-06 23:30:33