【发布时间】:2010-07-26 14:38:23
【问题描述】:
我正在开发一个项目,该项目通过 USB 控制多个设备并拦截来自 Windows 的 WM_DEVICECHANGE 事件,以管理当前连接的设备和使用这些设备的插件模块。主窗体上有一个组合框(应该)显示所有可用设备(自定义对象),并在设备到达或移除时动态更新。
现在,我阅读的每个教程(包括此处的一些教程)都指示我将组合框的 DataSource 属性设置为我拥有的对象列表,并将 DisplayMember/ValueMember 属性留空以显示 ToString() 并将对象作为值返回。
在某些情况下,我尝试过(例如实例化列表并使用示例/真实对象填充它)组合框会填充,但是在移除或到达时,即使将列表重新分配给组合框,组合框中的集合也不会更新每个设备到达/移除方法之后的组合框的 DataSource 属性。
编辑:哦,对了……这个问题……
如何动态地对(作为值返回的自定义对象)的集合进行数据绑定,以便它可以处理列表内容的突然变化(添加/删除)?
编辑 2:抱歉,我没有说得更清楚,不知道 WPF 的普及程度,但这是一个 WinForms 项目。
提前感谢您提供的任何帮助。 :)
【问题讨论】: