更新列表框的 DisplayMember

Squ*_*ama 4 c# winforms

这个问题涉及一个很小的 ​​Winforms GUI。让大家知道,我具有数据绑定和 INotifyPropertyChanged 的​​基本知识,并在 WPF 的 ViewModel 中使用这两个知识。但我不了解Winform。这是学校作业。

所以我有一个具有属性的类DisplayName。我还有一个ListBoxItems是我的类实例的序列。我已经指出,myListBox.DisplayMember = "DisplayName";在更改类实例中的值后,这将导致属性DisplayName返回不同的值,如何告诉我再次ListBox拉取该DisplayName属性以刷新其值?

Jas*_*ere 5

我需要做同样的事情,但是使用组合框。我找到的解决方法是清除并重置 DisplayMember 属性。

这有效:

myComboBox.DisplayMember = null;
myComboBox.DisplayMember = "DisplayName";
Run Code Online (Sandbox Code Playgroud)

需要注意的是,这可能不是最好的解决方案,因为它会导致多个 SelectedValueChanged 事件,但最终结果是成功的。