我在视图模型中有一个绑定到块集合的列表
<ListBox Grid.Row="1" ItemsSource="{Binding PlantControllers}"和属性
public BlockingCollection<PLANTCONTROLLER> PlantControllers
{
get { return _plant.PlantControllers; }
}使阻塞集合可见的最简单的方法是什么,似乎找不到任何好的例子
发布于 2013-07-03 04:58:33
使用生产者/消费者模式,将BlockingCollection用作进入UI线程的数据的“入口点”。
您的线程都会将项添加到BlockingCollection中,并且在UI线程上使用计时器偶尔检查是否有新项。如果有,请获取它们并将其添加到ObservableCollection。
另一种选择是让每个线程都有一个对UI线程的dispatcher的引用,并使用Dispatcher.BeginInvoke()将从BlockingCollection获取并添加到ObservableCollection的方法排入队列。
https://stackoverflow.com/questions/17431960
复制相似问题