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

メソッドのコンテキストから WaveformGraph オブジェクトに到達できないため、メソッドMainWindow内で動的にインスタンスを作成していますか? PlotWaveformsOnGraphその場合は、次のことを検討してください。

  1. 波形をプロットする WaveformGraph オブジェクトをパラメーターとしてPlotWaveformsOnGraphメソッドに渡します。PlotWaveformsAppendこのようにして、静的メソッド内から WaveformGraph のメソッドにアクセスできます。

これは次のようになります。

static void PlotWaveformsOnGraph(AnalogWaveformCollection<double> waveforms,
   WaveformGraph graph)
{
    var waveformList = new List<AnalogWaveform<double>>(waveforms);
    graph.PlotWaveforms(waveformList.ToArray());
}
  1. メソッドから static キーワードを削除しますPlotWaveformsOnGraph。がクラスPlotWaveformsOnGraphのメンバーであり、ウィンドウにコントロールがあると仮定すると、メソッド内から WaveformGraph にアクセスできます。このメソッドを静的にする特定の理由はありますか?MainWindowWaveformGraph

この問題については、こちらでさらなる進展が見られるようです。

于 2015-07-16T21:32:41.217 に答える