我正在使用Oxyplot库在我的应用程序中绘制图形 .

我的绘图模型实例包含线序列表,并在Y轴上绘制时间 . 我的应用程序每隔几秒就会获得实时数据,这些数据需要在图表上更新 . 因此每隔几秒钟图表就会更新,并且会调用invalidateplot(true) .

它似乎工作正常几分钟 . 之后,Invalidating plot会不断抛出以下异常 .

at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource 
   resource)
   at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
   at System.Collections.Generic.List`1.Enumerator.MoveNext()
   at OxyPlot.ReflectionExtensions.AddRange(List`1 target, IEnumerable itemsSource, String dataFieldX, String dataFieldY) in
    oxyplot\Source\OxyPlot\Utilities\ReflectionExtensions.cs:line 89

我已经参考了文档并在synchronized块中添加了invalidateplot以修复问题,但它没有帮助 .

lock (MyModel.SyncRoot)
    {
      if (MyModel != null)
            MyModel.InvalidatePlot(true);
     }

如何解决这个问题?