[英]C# bindinglist made of bindinglists
是否有一种简单的方法来使绑定列表由几个绑定列表组成? 即这是列表的“视图”。
也就是说:我有3个列表(list1,list2,list3)。 我想要一个始终是3 listx的联合的列表(我们可以假设没有对象包含在2个不同的列表中)。
当然,我可以成功使用ListChange属性,但也许有更聪明的方法来做到这一点?
要做到这一点,您需要创建自己的类型,实现IList
, IBindingList
(理想情况下是IBindingListView
),以及可选的ICancelAddNew
和IRaiseItemChangedEvents
。 您还需要一个公共非对象索引器( public T this[int index] {get;}
)或ITypedList
。
从做过类似的事情,我强烈建议你; 不要,除非这非常重要。 将引用复制到新的BindingList<>
会更实用。
也; 用新物品; 它会进入哪个列表?
你看过CompositeCollection类了吗?
根据您尝试做的事情,它可能会有所帮助:其目的是将多个集合组合到一个集合中(通常用于显示/绑定目的)。 因此,您可以创建一个CompositeCollection
并将三个BindingList
实例添加到它。 CompositeCollection
将自动更新以包含“子”列表的成员。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.