ObservableCollectionにバインドされたListBoxがあります。コレクション内のアイテムはそれぞれ、そのステップを実行するためのメソッドを持つ異なるステップを示します。私がやりたいのは、コレクションを介してBackgroundWorkerループを作成し、各アイテムのアクションメソッドを実行して、現在のステップをListBoxに反映させることです。
私の最初の反復はスレッド化を使用せず、ステップを実行するためだけのものでした。これで、ListCollectionViewを作成し、ObservableCollection内のデータを表すように設定し、ObservableCollectionの代わりにListBoxのItemsSourceをバインドしました。CurrentItemを明示的にインクリメントしているにもかかわらず、手順を実行するとUIスレッドの更新がブロックされることに気付きました。
BackgroundWorker内でListCollectionViewを使用したいのですが、私が見つけたほとんどの例は、リストの内容を変更したり、リストを並べ替えたりすることを前提に書かれています。私はこれをしたくありません。反復ごとにCurrentItemをインクリメントしたいだけです。単に参照するだけでは、UIスレッドの項目に関連付けられており、コンパイラーが文句を言うので、それほど遠くはありません。任意の考えやポインタをいただければ幸いです。