ObservableCollection
スレッドセーフで、UI スレッドでイベントを発生させ、できればメソッドを持っているものに代わるものを探していAddRange
ます。ここや他の場所にいくつかの実装が投稿されているのを見てきましたが、テストと検証が行われ、自分で保守する必要のない実装を好みます。
では、NuGet を介して利用できることが望ましい、そのような代替品を教えてもらえますか?
ObservableCollection
スレッドセーフで、UI スレッドでイベントを発生させ、できればメソッドを持っているものに代わるものを探していAddRange
ます。ここや他の場所にいくつかの実装が投稿されているのを見てきましたが、テストと検証が行われ、自分で保守する必要のない実装を好みます。
では、NuGet を介して利用できることが望ましい、そのような代替品を教えてもらえますか?
スレッド セーフなコレクションについては、System.Collections.Concurrent名前空間を確認してください。ConcurrentStack には、複数のオブジェクトをスタックの一番上に挿入する PushRange メソッドがあります。
Microsoft のBulkObservableCollectionを試してみることもできますが、なぜこのような奇妙な名前空間に配置されたのかはわかりません。VS2012 で「参照を追加...」しようとしたときにリストに表示されず、C:\Windows\Microsoft.NET\assembly\GAC_MSIL を手動で参照する必要がありました
ここで説明されているものを試すことができます:
http://deanchalk.com/2010/02/01/thread-safe-dispatcher-safe-observable-collection-for-wpf/
ブログ投稿での完全な実装です。ソースとして (そのページから) 入手できるため、テスト済み/検証済みの基準を満たしていない可能性があります。
私はそれを使用していないので、それがどれほどうまく機能するか (または機能しないか) を保証することはできません。
更新: 古いリンクは壊れていました。現在のリンクに差し替えました。Dean Chalk は、実際にはここ SO のメンバーなので、再び壊れた場合に備えて、彼の SO プロフィールへのリンクを次に示します。