在我的应用程序中,我有一个组合框。它用作项目,名称(字符串)和ID(int)
我编写了一些代码,用于更新项目值时显示的内容。
((Item)(joinedFilesCombobox.SelectedItem)).PictureID = 0;
joinedFilesCombobox.Items.Refresh();
使用此代码,当我单击组合框的下拉图标时,我的项目在列表中正确更新,但不是当前所选项目。为了正确刷新我刚修改的当前显示的项目,我必须做一个小技巧:
int curr = joinedFilesCombobox.SelectedIndex;
joinedFilesCombobox.SelectedIndex = curr+1;
joinedFilesCombobox.SelectedIndex = curr;
执行此操作会更新当前所选项目的视图。
但这个解决方案并不干净。有更清洁的方法吗?
答案 0 :(得分:3)
为了使其正常工作,您的Item
应该在INotifyPropertyChanged
属性的设置者中实现PropertyChanged
接口并引发PictureID
事件。