我有一个List< Foo>从我正在尝试数据绑定到WPF< ListBox>的非WPF程序集。最初,列表项正确显示,但是当我向List< Foo>添加新项时,列表框不会添加列表项。如何告诉列表框重新绑定/更新/刷新数据并显示新项?
答案 0 :(得分:10)
尽管使用ObservableCollection是最好的方法,但要回答实际问题,手动更新的方法是调用BindingExpression.UpdateTarget
答案 1 :(得分:4)
您应该使用ObservableCollection,然后您将自动获得更新。
答案 2 :(得分:2)
感谢您发布此答案。即使您使用ObservableCollection,也可能需要使用BindingExpression.UpdateTarget。如果集合不在UI线程中,则可能是这种情况。我一直在编写一些多线程的WPF应用程序,当我将模型代码移动到另一个线程时,我发现自己必须删除数据绑定,因为我不能指望更新系统真正起作用。虽然我发现数据绑定是一个很好的概念,但我认为数据绑定系统的不透明性是我采用它的真正障碍。 (抱歉咆哮!)再次感谢,Adam。