我试图在C#中处理线程,但我发生在一个奇怪的异常我不知道如何解决。我已经通过了BackgroundWorker的方法运行,其中有这段代码:Dispatcher.Invoke和线程访问的问题
GridView gridView;
DataView dataView;
queryTable.GetViewAndDataView(out gridView, out dataView);
this.listView.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(
delegate() {
listViewView = gridView;
listView.ItemsSource = dataView;
}
));
GetViewAndDataView填补了GridView和数据视图,同时委托代码设置当前的ListView。 Invoke的使用应该不会引发异常,但是当我尝试运行它时,我得到了以下结果:调用线程无法访问此对象,因为其他线程拥有它。
任何人都知道要处理这种异常,或者至少,如何禁用线程对象拥有?
GridView和DataView究竟是什么?是/有GridView控件? – 2011-05-17 11:59:39
GridView和DataView UI组件,还是您自己的类? – 2011-05-17 11:59:56
是的,GridView是一个UI组件,它似乎 – Archedius 2011-05-17 12:48:11