在 .Net 中使用 Measurement Studio 2013 使用 PlotWaveforms 方法在波形图上绘制 AnalogWaveform<TData>

Plotting AnalogWaveform<TData> on the Waveformgraph with PlotWaveforms method using Measurement Studio 2013 in .Net

我正在使用 Measurement Studio 2013 和 VS 2012。

我正在从 NI PXI 5122 获取数据,我想将其绘制在图表上。在控制台或什至在 gridview 上打印时,我可以清楚地看到记录,但我无法在 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 中,但没有绘制在图表上。

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

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

这可能看起来像:

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

看起来这个问题正在取得更多进展here