繁体   English   中英

创建Oxyplot PlotModel,它会随着传入的新数据自动更新

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM