您能否告诉我为什么在最后一次迭代(i = 99)之后更新图表?
private void music_play_button_Click(object sender, RoutedEventArgs e)
{
for (int i = 0; i < 100; i++)
{
(hr_plot.Model.Series[0] as LineSeries).Points[0] = new DataPoint(i, HRConstants.HRMin);
(hr_plot.Model.Series[0] as LineSeries).Points[1] = new DataPoint(i, HRConstants.HRMax);
System.Threading.Thread.Sleep(10);
hr_plot.Model.InvalidatePlot(true);
};
}
图表应该在每次迭代后更改,而不是在整个循环之后。什么是正确的解决方案?
答案 0 :(得分:1)
Buttoneventhandler在计算新数据点时阻止UI-Thread。因此,图表只有在事件处理程序完成后才有机会
<强>解决方案:强> 您可以在eventhandler中创建一个新的dispatchertimer,并在每个timerTick上进行单次迭代计算