Вызывающий поток не может получить доступ к этому объекту, поскольку он принадлежит другому потоку
Сделать исключение
Вызывающий поток не может получить доступ к этому объекту, поскольку он принадлежит другому потоку.
здесь есть исключение....
DataCollection.Add(new QueryFill(Convert.ToDouble(lstPlotterData[j].Rows[i][1]), Convert.ToDateTime(lstPlotterData[j].Rows[i][0]), Convert.ToString(lstPlotterData[j].Rows[i][2]).Trim()));
Что я уже пробовал:
Я Пытался
Dispatcher.BeginInvoke( new ThreadStart(() => DataCollection.Add(new QueryFill(Convert.ToDouble(lstPlotterData[j].Rows[i][1]), Convert.ToDateTime(lstPlotterData[j].Rows[i][0]), Convert.ToString(lstPlotterData[j].Rows[i][2]).Trim()))));но безрезультатно
Dave Kreskowiak
Это "то, что я пробовал" очень мило. Делая "новый ThreadStart", вы отменяете то, что диспетчер.BeginInvoke пытался сделать. BeginInvoke выполняет код в потоке, к которому прикреплен диспетчер (обычно это пользовательский интерфейс), а затем вы идете и запускаете поток в коде, разрушая цель функциональности BeginInvoke.