這是正常的嗎?我是否必須調用強制更新的方法?當綁定List <T>集合被修改時,WPF ListView沒有更新?
基本上我正在添加新項目,可以看到列表在內存中增長,但UI仍顯示啓動時定義的初始元素。
這是正常的嗎?我是否必須調用強制更新的方法?當綁定List <T>集合被修改時,WPF ListView沒有更新?
基本上我正在添加新項目,可以看到列表在內存中增長,但UI仍顯示啓動時定義的初始元素。
如果您使用的是List<T>
,請嘗試使用ObservableCollection<T>
。 ObservableCollection具有WPF將綁定到的事件,以瞭解集合何時更改。一個常規列表沒有這個,所以WPF不知道什麼時候添加或刪除了。
謝謝CG,另一個問題:我也可以修改ObservableCollection中的項目嗎?所以就像:collection [0] .Name =「Cool」? – 2010-11-10 21:57:45
僅當您的對象實現INotifyPropertyChanged時,它纔會執行相同的基本操作。它提供了一個WPF可以綁定的事件,以便在實例上的屬性發生更改時可以通知它。 – CodingGorilla 2010-11-10 22:00:17
謝謝,這是有道理的。最後爲什麼叫ObservableCollection? ObservableCollection聽起來像它的意思是隻讀,不會被修改,就像在觀察。 – 2010-11-10 22:05:14
這回答你的問題,因爲它做我的:http://stackoverflow.com/questions/3726665/why-does-an-ienumerablet-require-a-call-to-tolist-to-update-the-listview/3726843#3726843 – 2010-11-10 21:53:31
謝謝你,這是一個很長的問題,答案,但似乎它有很好的信息。 – 2010-11-10 21:56:48