maf*_*afu 6 c# user-controls listbox
我是标准ListBox控件的子类.我收到有关添加到列表中的任何元素的更改的通知.任务是更新ListBox显示的文本以更改元素.
我知道我可以删除已更改的元素并再次添加它,但出于明显的原因,这似乎不太可取.
Mar*_*ell 16
不幸的是,数据绑定ListView不支持常规(项目)更改通知事件(FooChanged/ INotifyPropertyChanged).但是,如果您了解更改,则可以使列表重新绑定自身.由于您是子类,您可以调用:
this.RefreshItems();
Run Code Online (Sandbox Code Playgroud)
或单个项目:
this.RefreshItem(index);
Run Code Online (Sandbox Code Playgroud)
否则,由于这不是公开的,您可以通过更改以下内容来模拟它DisplayMember:
lb.DisplayMember = "";
lb.DisplayMember = "Bar";
Run Code Online (Sandbox Code Playgroud)
可能有点hacky,但它有效,并保持当前的选择等(不像清除DataSource).
| 归档时间: |
|
| 查看次数: |
13647 次 |
| 最近记录: |