[英]Creating Oxyplot PlotModel that automatically updates with new data incoming
我一直在遵循此处找到的出色教程,以了解如何在遵循MVVC的同时使用OxyPlot创建LineSeries图。 我还下载了该文件,并在进行了一些错误修复后,设法获得了作者的源代码,以供本教程编译和运行。 Github上的源代码可以在这里找到。
不幸的是,当代码运行并创建图表时,图表不会像需要的那样每5秒更新一次。 这就是我的机器上永远的图表。 它不会更新:
现在,我做了一些挖掘工作,以了解为什么它没有更新。 我添加了一些调试命令来查找是否正确添加了新点,如下所示:
我检查了是否每5秒调用一次UpdateModel,并从GetUpdateData正确返回测量值,并且在函数结束之前lineSerie.Points计数在增加。 在实际的View类中也会调用InvalidatePlot。
有什么我可以解决的问题吗? 谢谢
我想到了。 根据此处的本教程 (“创建视图”部分),我认为我必须把:
<Window.DataContext>
<local:MainViewModel/>
</Window.DataContext>
在我的XAML文件中。 但是根据教程项目,您不需要它:
<Window x:Class="OxyPlotDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:oxy="http://oxyplot.org/wpf"
Title="MainWindow" Height="350" Width="525">
<Grid>
<oxy:PlotView x:Name="Plot1" Model="{Binding PlotModel}" Margin="10" Grid.Row="1">
</oxy:PlotView>
</Grid>
删除local.MainViewModel行解决了该问题。 我认为它使用了错误的PlotModel,而不是在View类中创建的正确模型
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.