ObervableCollection集合是响应修改的,当集合修改时,会触发ObervableCollection集合对形象的PropertyChanged事件,绑定后WPF会自动响应事件,并对界面做出调整。
按道理讲,你修改集合之后,ListBox中的各个Node是各自刷新显示的,也就是你改了那个刷新哪个,你的问题估计是处在是否是在修改后调用了最高Node的OnPropertyChanged方法或者绑定重新执行了一遍,还有可能是ListBox控件重新载入,重新初始化造成的。
你没有具体说,我也不能确定。
至于刷新方法那是没有。
总结一下:
1.最高Node的OnPropertyChanged方法
2.绑定重新执行了一遍
3.ListBox控件重新载入
以上三中情况会造成那种效果,你排查一下吧。
你的数据量很大吗?否则不会看到这个过程的,又或者你的方式不对,能看看代码吗?