所以我有一个List<T>
我ComboBox
通过BindingSource
. 工作正常,没问题。现在我需要向我的列表中再添加一项ComboBox
不可用的项目(我也无法修改列表的内容)。我想到了以下方案:
- 创建原始列表的副本,并在绑定之前向其中添加一个项目。
- 通过 LINQ 创建两个列表的 UNION(第二个只有一个项目),然后让我的 BindingSource 监视聚合列表。
- 手动将项目添加到 ComboBox,然后监视列表的更改。
现在我不想选择第三个选项并失去绑定优势。第一个选项不起作用,因为新创建的列表未链接到原始列表,因此不会更新。我猜通过 LINQ 组合两个列表也会创建一个独立的列表。
所以我在这里寻找的是我所说的AggregateBindingSource
将一个或多个List<T>
s 作为其 DataSource 并自动更新我的 ComboBox 的东西。
还是有人有更好的主意?