从另一个线程更新图表

本文关键字:更新 线程 另一个 | 更新日期: 2023-09-27 18:06:07

目前我有一组从一个线程捕获的传感器的值。我想把这些值绘制成"实时"的图表,比如每1秒。

所以我通常是这样做的(在非线程版本中):

1)获取数据到List

2)点击按钮运行myChart.Refresh()

3)触发OnPaint()绘制图形。

然而,我意识到我不能在线程内触发OnPaint()。我也知道有一个BackgroundWorker类,但我不确定如何触发OnPaint()方法,以及。

从另一个线程更新图表

OnPaint()只能在主UI线程上调用,因为它需要绘制图形并更新UI。您可以使用Dispatcher类与任何线程交互并执行UI操作。