Межпоточная операция недействительна: элемент управления 'chart1' доступен из потока, отличного от потока, в котором он был создан

В некоторых случаях я пытаюсь обновить свою диаграмму. Я вызываю метод Plot другим методом. Я нашел это решение, но оно предназначено для textBox, поэтому я не могу реализовать его в своем коде. Я искал в Интернете, но не нашел решения для диаграмм.

Как я могу решить эту проблему с добавлением точек на график?

private void Plot()
    {
            chart1.Series["test1"].Points.AddXY
                            (plotValues[0,1], plotValues[0,0]);
            chart1.Series["test1"].Points.AddXY
                           (plotValues[1, 1], plotValues[1, 0]);

    }

person ffttyy    schedule 28.02.2016    source источник
comment
В чем именно проблема с ответом в вашей ссылке?   -  person Margaret Bloom    schedule 28.02.2016


Ответы (1)


Dispatcher.Invoke(() => chart1.Series["test1"].Points.AddXY
                        (plotValues[0,1], plotValues[0,0]));

(или InvokeAsync, если вы хотите запустить async / не нужно ждать завершения операции в другом потоке)

person Bogey    schedule 28.02.2016