我有一個列表<Foo>來自非WPF程序集,我試圖將其數據綁定到WPF <ListBox>。最初,列表項正確顯示,但是當我將新項目添加到列表<Foo>時,列表框不會添加列表項目。如何告訴列表框重新綁定/更新/刷新數據並顯示新項目?WPF數據綁定手冊更新
3
A
回答
10
雖然使用一個ObservableCollection是最好的方式,回答問題的實際,手動更新的方法是調用BindingExpression.UpdateTarget
4
您應該使用ObservableCollection來代替,然後您會自動獲取更新。
2
感謝張貼這個答案。即使您使用ObservableCollection,也可能需要使用BindingExpression.UpdateTarget。如果集合不在UI線程中,則可能是這種情況。我一直在編寫一些多線程的WPF應用程序,當我將模型代碼移動到另一個線程時,我發現自己不得不去除數據綁定,因爲我不能指望更新系統真正起作用。儘管我發現數據綁定是一個很好的概念,但我認爲數據綁定系統的不透明性一直是我採用它的真正障礙。 (對不起,咆哮!)再次感謝,亞當。
相關問題
- 1. WPF數據綁定新手
- 2. wpf數據綁定新手
- 3. WPF和數據綁定的新手
- 4. C#數據綁定不更新WPF
- 5. WPF數據綁定,值不會更新
- 6. WPF更新列表框數據綁定
- 7. 更新WPF UI綁定的數據源
- 8. WPF綁定不更新數據
- 9. WPF數據綁定更新不及時
- 10. WPF數據綁定更新不及時
- 11. 新手WPF綁定問題
- 12. WPF綁定更新
- 13. WPF CommandParameter綁定不更新
- 14. 手動將數據重新綁定到WPF ContentControl
- 15. 更新對象後刷新wpf數據綁定
- 16. WPF數據綁定
- 17. 數據綁定WPF
- 18. WPF數據綁定
- 19. 數據綁定WPF
- 20. 數據綁定不更新
- 21. 數據綁定不更新
- 22. WPF數據綁定的自定義屬性不更新
- 23. WPF:更新/刷新/重新綁定ItemSource?
- 24. WPF綁定更新不及時時,綁定對象被更新
- 25. WPF Datagrid與數據綁定,更改ItemsSource
- 26. WPF數據綁定到更改對象
- 27. 如何手動刷新數據綁定?
- 28. WPF數據綁定到System.Data.Linq.Table <T>,如何更新界面?
- 29. WPF數據綁定:在ObservableCollection中更新項目
- 30. WPF數據綁定工具提示不會更新
我可以在非WPF程序集中使用ObservableCollection嗎? – harriyott 2009-04-23 15:57:09
是的,如果你包含PresentationBase(我認爲,該類在System.Collections.ObjectModel中,但impl在PresetationBase中);或者如果你想獲得相同的功能,通過實現INotifyCollectionChanged來創建你自己的ObservableCollection。 – Scott 2009-04-23 16:13:33