所以我有List<T>
我将ComboBox
绑定到BindingSource
。工作正常,没问题。现在我需要在列表中没有的ComboBox
中再添加一个项目(我也无法修改List的内容)。我想到了以下方案:
现在我不想进入第三种选择而失去约束优势。第一个选项不起作用,因为新创建的列表未链接到原始列表,因此不会更新。通过LINQ组合两个列表也会创建一个独立的列表。
所以我在这里寻找的是我称之为AggregateBindingSource
的{{1}},它将一个或多个List<T>
作为其数据源并自动更新我的ComboBox。
或者有人有更好的主意吗?
答案 0 :(得分:1)
我会在自己的类(ViewModel)中创建一个新的List,它由List +单个项组成。 并将此新列表数据绑定到您的ComboBox。
如果您正在使用引用,则在ViewModel中更新List将自动更新其他List + Item中的条目。
如果您不使用参考文献,则必须更新列表+项目。您可以在ViewModel中使用更新功能。但即使你只使用一个整数,我也会把它放在一个对象中,这样你就可以使用这个引用,然后你可以再次使用它。
因此,如果您使用帖子中描述的前两个步骤之一并了解引用,则创建新列表没有问题。