3

ビューモデルのブロッキングコレクションにバインドされたリストがあります

<ListBox Grid.Row="1" ItemsSource="{Binding PlantControllers}"

とプロパティ

  public BlockingCollection<PLANTCONTROLLER> PlantControllers
        {
            get { return _plant.PlantControllers; }

        }

ブロッキングコレクションを監視可能にする最も簡単な方法は何ですか?そこに良い例が見つからないようです

4

1 に答える 1

2

BlockingCollectionプロデューサー/コンシューマー パターンを使用して UI スレッドに入るデータの「エントリ ポイント」として、を使用します。

スレッドはすべて にアイテムを追加BlockingCollectionし、UI スレッドではタイマーを使用して、新しいアイテムがあるかどうかを時々チェックします。ある場合は、それらを取得して に追加しますObservableCollection

もう 1 つのオプションは、各スレッドに UI スレッドのディスパッチャーへの参照を持たせ、から取得して に追加するDispatcher.BeginInvoke()メソッドをキューに入れるために使用することです。BlockingCollectionObservableCollection

于 2013-07-02T20:58:32.607 に答える