,因为这两天我正试图解决以下问题: 我有一个地方是WrapPanel绑定到一个ObservableCollection WPF控件。一个动作改变了ObservableCollection的内容。内容被加载到BackgroundWorker中。在导致内容更改的操作之后立即在foreach循环中需要新内容。问题是内容的加载速度很慢,所以需要一点准备。如何使用MVVM从BackgroundWorker内部更新ObservableCollection?
我第一次尝试是等待的BackgroundWorker直到IsBusy属性设置为false。但IsBusy属性在等待时从未改变! 第二次尝试是尝试直接从BackgroundWorker操作ObservableCollection。当然,因为ObservableCollection位于BackgroundWorker之外的另一个线程中,所以没有成功。
我看了真的很了解如何操纵跨线程范围的内容。但他们都没有工作。与调度员试图解决方案,“ThreadSafeObservableCollection”,...
也许有人告诉我,我该怎么解决这个问题? 有没有简单的方法来编辑另一个线程内的UI线程的内容? 或者如何正确等待BackgroundWorker完成?
编辑: 但我如何等待BackgroundWorker完成?
这并没有节省时间的帮助下,它运行,但在相同的线程! – 2011-06-24 09:07:01