当前位置:  开发笔记 > 编程语言 > 正文

C#强制ListBox更新元素

如何解决《C#强制ListBox更新元素》经验,为你挑选了1个好方法。

我是标准ListBox控件的子类.我收到有关添加到列表中的任何元素的更改的通知.任务是更新ListBox显示的文本以更改元素.

我知道我可以删除已更改的元素并再次添加它,但出于明显的原因,这似乎不太可取.



1> Marc Gravell..:

不幸的是,数据绑定ListView不支持常规(项目)更改通知事件(FooChanged/ INotifyPropertyChanged).但是,如果您了解更改,则可以使列表重新绑定自身.由于您是子类,您可以调用:

this.RefreshItems();

或单个项目:

this.RefreshItem(index);

否则,由于这不是公开的,您可以通过更改以下内容来模拟它DisplayMember:

lb.DisplayMember = "";
lb.DisplayMember = "Bar";

可能有点hacky,但它有效,并保持当前的选择等(不像清除DataSource).

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有