gpt4 book ai didi

C# 强制 ListBox 更新元素

转载 作者:太空狗 更新时间:2023-10-29 22:11:40 24 4
gpt4 key购买 nike

我正在对标准 ListBox 控件进行子类化。我会收到添加到列表中的任何元素的更改通知。任务是为变化的元素更新列表框显示的文本。

我知道我可以删除已更改的元素并再次添加它,但出于显而易见的原因,这似乎不是可取的。

最佳答案

不幸的是,ListView 中的数据绑定(bind)不支持常规(项目)更改通知事件(FooChanged/INotifyPropertyChanged)。但是,如果您知道更改,则可以让列表重新绑定(bind)自己。由于您是子类化的,因此您可以调用:

this.RefreshItems();

或对于单个项目:

this.RefreshItem(index);

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

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

也许有点 hacky,但它有效,并保持当前选择等(与清除 DataSource 不同)。

关于C# 强制 ListBox 更新元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/519538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com