複数のバインディングリストで構成されるバインディングリストを作成する簡単な方法はありますか? つまり、それがリストの「ビュー」です。
つまり、3 つのリスト (list1、list2、list3) があります。常に 3 つの listx の結合であるリストが必要です (2 つの異なるリストにはオブジェクトが含まれていないと仮定できます)。
確かに、ListChange プロパティを使用することはできますが、もっとスマートな方法があるのではないでしょうか?
複数のバインディングリストで構成されるバインディングリストを作成する簡単な方法はありますか? つまり、それがリストの「ビュー」です。
つまり、3 つのリスト (list1、list2、list3) があります。常に 3 つの listx の結合であるリストが必要です (2 つの異なるリストにはオブジェクトが含まれていないと仮定できます)。
確かに、ListChange プロパティを使用することはできますが、もっとスマートな方法があるのではないでしょうか?
これを行うには、独自の型を作成し、IList
、IBindingList
(理想的IBindingListView
には )、およびオプションICancelAddNew
で andを実装する必要がありますIRaiseItemChangedEvents
。また、パブリックの非オブジェクト インデクサー ( public T this[int index] {get;}
) またはITypedList
.
これと同様のことを行ったことから、強くお勧めします。これが本当に重要でない限り、しないでください。参照を新しい にコピーする方がより実用的BindingList<>
です。
また; 新しいアイテムで; それはどのリストに入りますか?
CompositeCollectionクラスを調べましたか?
何をしようとしているのかによっては、それが役立つ場合があります。その目的は、複数のコレクションを単一のコレクションに結合することです (通常は表示/バインディングの目的で)。したがって、 を作成し、それに 3 つのインスタンスをCompositeCollection
追加できます。BindingList
はCompositeCollection
自動的に更新され、「子」リストのメンバーが含まれます。