【发布时间】:2013-10-21 15:49:28
【问题描述】:
所以我有一个List<T>,我通过BindingSource 将我的ComboBox 绑定到。工作正常,没问题。现在我需要向我的ComboBox 添加一个列表中不可用的项目(我也无法修改列表的内容)。我想到了以下方案:
- 创建原始列表的副本,并在绑定之前再添加一项。
- 通过 LINQ 创建两个列表的 UNION(第二个只有一个项目),然后让我的 BindingSource 监视聚合列表。
- 手动将项目添加到 ComboBox,然后监视列表的更改。
现在我不想选择第三个选项并失去绑定优势。第一个选项不起作用,因为新创建的列表未链接到原始列表,因此不会更新。我猜通过 LINQ 组合两个列表也会创建一个独立的列表。
所以我在这里寻找的是我称之为 AggregateBindingSource 的东西,它将一个或多个 List<T>s 作为其数据源并自动更新我的 ComboBox。
或者有人有更好的主意吗?
【问题讨论】:
标签: .net winforms binding combobox bindingsource