3

OxyPlot でスタンドアロンの WPF アプリケーションにデータを表示するのに苦労しています (私は caliburn micro を使用し、MVVM パターンに従います)。

したがって、私のXamlには次のものがあります。

<UserControl ...
xmlns:oxy="clr-namespace:OxyPlot.Wpf;assembly=OxyPlot.Wpf">

以降

<oxy:Plot Title="Winnings of Selected Player" Model="{Binding Graph1}"/>

私のViewModelでは、またはを含めるusing OxyPlot;かを選択できるようですusing OxyPlot.Wpf;PlotModel前者の場合、次のように定義できます。

private PlotModel _graph1;
public PlotModel Graph1 { 
    get { return _graph1;} 
    set { 
        _graph1 = value;
        Graph1.RefreshPlot(true);
    }
}

public MyViewModel() {

    Graph1 = new PlotModel();
    var FirstSeries = new LineSeries();
    FirstSeries.Points.Add(new DataPoint(1,2));
    FirstSeries.Points.Add(new DataPoint(1,2));

}

しかし、私のビューには何も表示されません (実際、「空のグラフ」やビューのタイトルさえ表示されません)。私もあちこちにコマンドを散らしてみRefreshPlotました...

それで、using OxyPlot.Wpf;代わりに試してみることにします。それから、しかし、私は私に追加PointsすることはできませんLineSeries-これは私のIntelliSenseのスクリーンショットです...

!( http://imageshack.com/a/img30/2441/cvqy.png )

では、OxyPlot.Wpf を使用して LineSeries にデータを入力するにはどうすればよいでしょうか? ちなみに、LineSeries に点を追加せずにコンパイルしても、空のグラフは表示されません。私が見たすべての例はこれを行うか、.xaml.cs分離コードファイルにコードを書きますが、これは私がしたくないことです。

編集:dellywheelが言及しているように、質問をするときにLineSeriesを上記のPlotModelに追加するのを忘れていたので、上記のコンストラクターには行が含まれている必要があります

Graph1.Series.Add(FirstSeries);

しかし、それは質問を入力しただけであり、実際の問題ではありません...

4

1 に答える 1

1

LineSeries をグラフに追加しておらず、グラフは Graph1 ではなく Graph Try です

public MyViewModel(){
     Graph1 = new PlotModel();
     var firstSeries = new LineSeries();
     firstSeries.Points.Add(new DataPoint(1, 2));
     firstSeries.Points.Add(new DataPoint(1, 2));
     Graph1.Series.Add(firstSeries);
  }

それが役立つことを願っています

于 2014-01-26T13:28:47.690 に答える