我怀疑自己是否因此而得到了回复,但是我的机智已经结束了,所以希望能有所作为。
我的表单上有BindingList<myObj>
和BindingSource
,其中DataSource
设置为BindingList。然后我有Resco Mobile Controls UIListView
显示此数据。
在启动时它显示正常,数据被正确绑定,但是当我更新任何数据时,它永远不会在UI中显示。我在INotifyPropertyChanged
上实施了myObj
,并且不知道我还应该寻找什么......
这完全在Windows CE 6上使用.NET CF 3.5。任何想法都会受到赞赏,因为我已经看了一段时间了。
答案 0 :(得分:2)
通常,BindingList实现会发生的事情是只通知添加和删除操作的更改,不会在更新项目时收到通知。我应该建议使用ObservableCollection来通知项目更改。 这里有类似的帖子。 Binding List and UI controls, not updating on edit 此致,佩德罗莫拉莱斯。
答案 1 :(得分:1)
答案 2 :(得分:1)
我解决了从主线程修改集合的问题,如果我从辅助线程更改它,则更改不会在网格中更新。 (甚至调用currencyManager Refresh或DataGrid Refresh)
答案 3 :(得分:0)
需要更新时致电:
bindingList.ResetBindings();
答案 4 :(得分:0)
将这里的一些答案结合起来,使我想到了解决方案。如果您不在UI线程上,则需要使用Invoke来调用UI线程上的刷新。
Public Sub RefreshMyBoundList()
If (Me.InvokeRequired) Then
Me.Invoke(New Action(AddressOf RefreshMyBoundList))
Return
End If
MyBoundList.ResetBindings()
End Sub