我有一个绑定到 ObservableCollection 的 ListBox。集合中的每个项目都表示不同的步骤以及执行该步骤的方法。我想做的是在集合中有一个 BackgroundWorker 循环,运行每个项目的操作方法,并让当前步骤由 ListBox 反映。
我的第一次迭代没有使用线程,只是为了让步骤运行。现在我创建了一个 ListCollectionView,将其设置为表示 ObservableCollection 中的数据,并将 ListBox 的 ItemsSource 绑定到它而不是 ObservableCollection。我注意到运行这些步骤仍然会阻止 UI 线程的更新,即使我明确地增加了 CurrentItem。
我想在 BackgroundWorker 中使用 ListCollectionView,但我发现的大多数示例都是假设您正在修改列表的内容或排序而编写的。我不想这样做;我只是想为每次迭代增加 CurrentItem。我猜只是引用它不会让我走得太远,因为它与 UI 线程上的项目相关联并且编译器会抱怨。任何想法或指示将不胜感激。