Ich habe versucht, Threads in C# zu behandeln, aber ich habe in einer wierd Ausnahme aufgetreten, die ich nicht weiß, wie zu beheben. Ich habe eine Methode, die von BackgroundWorker läuft, in dem es dieses Stück Code:
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 füllt eine GridView und eine DataView, während der Delegate-Code die aktuelle ListView setzt. Die Verwendung von Invoke soll keine Ausnahmen auslösen, aber wenn ich versuche, es auszuführen, erhalte ich dies: Der aufrufende Thread kann nicht auf dieses Objekt zugreifen, da es einem anderen Thread gehört .
Weiß jemand, wie eine solche Ausnahme zu behandeln, oder zumindest, wie man den Thread Objekt besitzen deaktivieren?