Я пытаюсь обработать потоки в C #, но у меня возникло странное исключение, которое я не знаю, как решить.У меня есть метод, запущенный BackgroundWorker, в котором есть следующий фрагмент кода:
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 и dataView, в то время как код делегата устанавливает текущий listView.Предполагается, что использование Invoke не вызывает исключений, но когда я пытаюсь запустить его, я получаю следующее: Вызывающий поток не может получить доступ к этому объекту, поскольку другой поток владеет им .
Любойзнает, как обработать такое исключение, или, по крайней мере, как отключить владение объектом потока?