在 .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 对象?如果是这样,您可以考虑以下几点:
- 将绘制波形的 waveformGraph 对象作为参数传递给
PlotWaveformsOnGraph
方法。这样,您可以从静态方法中访问 waveformGraph 上的 PlotWaveformsAppend
方法。
这可能看起来像:
static void PlotWaveformsOnGraph(AnalogWaveformCollection<double> waveforms,
WaveformGraph graph)
{
var waveformList = new List<AnalogWaveform<double>>(waveforms);
graph.PlotWaveforms(waveformList.ToArray());
}
- 从
PlotWaveformsOnGraph
方法中删除 static 关键字。假设 PlotWaveformsOnGraph
是您的 MainWindow
class 的成员,并且您的 window 上有一个 WaveformGraph
控件,您可以从您的方法中访问 waveformGraph。您是否有将此方法设为静态的特定原因?
看起来这个问题正在取得更多进展here。
我正在使用 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 对象?如果是这样,您可以考虑以下几点:
- 将绘制波形的 waveformGraph 对象作为参数传递给
PlotWaveformsOnGraph
方法。这样,您可以从静态方法中访问 waveformGraph 上的PlotWaveformsAppend
方法。
这可能看起来像:
static void PlotWaveformsOnGraph(AnalogWaveformCollection<double> waveforms,
WaveformGraph graph)
{
var waveformList = new List<AnalogWaveform<double>>(waveforms);
graph.PlotWaveforms(waveformList.ToArray());
}
- 从
PlotWaveformsOnGraph
方法中删除 static 关键字。假设PlotWaveformsOnGraph
是您的MainWindow
class 的成员,并且您的 window 上有一个WaveformGraph
控件,您可以从您的方法中访问 waveformGraph。您是否有将此方法设为静态的特定原因?
看起来这个问题正在取得更多进展here。