我以两种方式将 BindingList 绑定(bind)到列表框。绑定(bind)列表包含许多图像,这些图像显然仅在从绑定(bind)列表中添加或删除项目时才更新列表框。如何才能使绑定(bind)列表在修改项目时也引发 listchanged 事件?
编辑:我发现我遇到的问题是对象的属性没有被更改,而是基础对象。
BindingList<ImageSource>();
但是如果我这样做的话,这将不起作用:
BindingList<Image>();
然后将绑定(bind)路径设置为 Image.Source,它将正确更新,这是因为 Image 的属性已更改,但在第一个示例的情况下,仅列表中的直接项发生了更改。那么我怎样才能获得与第二个示例相同的行为呢?
最终编辑: 看来使用 ObservableCollection 而不是 BindingList 可以解决此问题。我的印象是,它们在通知集合变化方面是相同的。完整答案如下
最佳答案
列表确实会引发该事件,但前提是底层项目通过 INotifyPropertyChanged
提供正确的通知。 .
关于c# - 绑定(bind)列表和 UI 控件,编辑时不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8020221/