我(我认为)是一个相当传统的WPF应用程序。
我已经
了<ListBox ItemsSource="{Binding MyList}" ...
MyList是
ObservableCollection<MyItem>
MyItem未实现INotifiyPropertyChanged
当我Add
项目进入OC时,UI会更新而不会出现问题。
当我替换项目时,通过
MyList[index] = newItem;
UI仅偶尔更新。 有时选择窗口上的另一个控件会有所帮助,但通常不会。更新每秒约5次。如果重要的话,这是Win7 x64机器上的WPF 4。
答案 0 :(得分:3)
我猜你最好使用Remove()
和Insert(index, item)
而不是分配给索引项。删除和插入项必须引发CollectionChanged委托。
答案 1 :(得分:2)
这对我来说完全没有意义,ObservableCollections注册了替换,到目前为止我没有问题......
我怀疑错误在其他地方。
e.g。意外地将项目替换为自身,破坏了对数据的绑定,这样的事情......
在旁注中,如果您遇到有时发生的行为,则错误很可能出现在您自己的代码逻辑中,因为有时指向您通常的不确定行为不应该在任何体面的框架中遇到。