Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#由绑定列表组成的绑定列表_C#_C# 3.0_Bindinglist - Fatal编程技术网

C#由绑定列表组成的绑定列表

C#由绑定列表组成的绑定列表,c#,c#-3.0,bindinglist,C#,C# 3.0,Bindinglist,有没有一种简单的方法可以让bindinglist由几个bindinglist组成?i、 e.这是列表的“视图” 也就是说:我有3个列表(列表1、列表2、列表3)。我想要一个始终是3个listx的并集的列表(我们可以假设没有对象包含在2个不同的列表中) 当然,我可以成功地使用ListChange属性,但也许有一种更聪明的方法可以做到这一点?要做到这一点,您需要创建自己的类型,实现IList,IBindingList(理想情况下是IBindingListView),还可以选择ICALCELAddNe

有没有一种简单的方法可以让bindinglist由几个bindinglist组成?i、 e.这是列表的“视图”

也就是说:我有3个列表(列表1、列表2、列表3)。我想要一个始终是3个listx的并集的列表(我们可以假设没有对象包含在2个不同的列表中)


当然,我可以成功地使用ListChange属性,但也许有一种更聪明的方法可以做到这一点?

要做到这一点,您需要创建自己的类型,实现
IList
IBindingList
(理想情况下是
IBindingListView
),还可以选择
ICALCELAddNew
IRaiseItemChangedEvents
。您还需要一个公共的非对象索引器(
publictthis[int index]{get;}
)或
ITypedList

由于做过类似的事情,我强烈建议你;不要,除非这真的很重要。将引用复制到一个新的
BindingList
中会更加实用

还有,;新项目;你会把它列在哪个名单里?

你看过这门课了吗


根据您尝试执行的操作,它可能会有所帮助:其目的是将多个集合合并到单个集合中(通常用于显示/绑定目的)。因此,您可以创建一个
CompositeCollection
,并向其中添加三个
BindingList
实例。
CompositeCollection
将自动更新以包含“子”列表的成员。

我只想查看内部列表,新项目将直接添加到其中一个内部列表中。您也可以在code或Xaml中构建
CompositeCollection
。它可以非常灵活!