0

A と B という 2 つのリストビューがあるとします。A に 20 項目を入力し、数分後に B にも 20 項目を入力します。両方のリストには、重複のない完全に異なるデータが含まれています。

なんらかの理由で、B のコンテンツをリストビュー A に追加するという気が狂いそうになります。もちろんForEach、B のすべてのアイテムを調べて A に追加する単純なループを使用して、これを行うことができます。

しかし、これには時間と処理能力が必要です。本当に古いシステム (安っぽい CE ハンドヘルドを考えてみてください) は、きっと慈悲を乞うでしょう! そこで、B の listviewcollection を A の listviewcollection と一度にマージする方法があるとしたらどうでしょうか?

ForEachループなしで 2 つの listviewcollections をマージすることは可能ですか?

4

1 に答える 1

1

何かのようなもの:

MyLvCollection.Items.AddRange( 
MyOtherLvCollection.Select(wi => new ListViewDataItem( 
    wi.Name, new string[]{wi.ID.ToString()} ) ).ToArray() );

編集:本当にクライアント側で実行したい場合(Webサービスなどではありません)...次にCompositeCollectionの使用を調べてください。パフォーマンスはわかりませんが、XAMLなどを使用したジレンマの解決策のようです。

于 2013-06-06T11:50:05.403 に答える