0

我正在使用带有 VS 2012 的 Measurement Studio 2013。

我正在从 NI PXI 5122 获取数据,我想在图表上绘制这些数据。在控制台甚至网格视图上打印时,我可以清楚地看到记录,但我无法在 WaveformGraph 上绘制它。这是我的代码:

    static void PlotWaveformsOnGraph(AnalogWaveformCollection<double> waveforms)
     {       
           List<AnalogWaveform<double>> waveformList = new List <AnalogWaveform<double>>(waveforms);
           MainWindow main = new MainWindow();
           main.waveformGraph.PlotWaveforms(waveformList.ToArray());
     }

上面的代码没有错误,数据也存在于 WaveformList 中,但没有绘制在图表上。

4

1 回答 1

0

您是否因为无法从方法的上下文中访问波形图对象而在方法中动态创建MainWindow实例?PlotWaveformsOnGraph如果是这样,您可以考虑以下几点:

  1. 将您绘制波形的waveformGraph对象作为参数传递给您的PlotWaveformsOnGraph方法。这样,您可以PlotWaveformsAppend从静态方法中访问波形图上的方法。

这可能看起来像:

static void PlotWaveformsOnGraph(AnalogWaveformCollection<double> waveforms,
   WaveformGraph graph)
{
    var waveformList = new List<AnalogWaveform<double>>(waveforms);
    graph.PlotWaveforms(waveformList.ToArray());
}
  1. 从方法中删除 static 关键字PlotWaveformsOnGraph。假设PlotWaveformsOnGraph是您的MainWindow类的成员,并且您的窗口上有一个WaveformGraph控件,您可以从您的方法中访问波形图。您是否有特定原因将此方法设为静态?

看起来在这个问题上取得了更多进展

于 2015-07-16T21:32:41.217 回答