OxyPlot,不在LineSeries中的点

时间:2014-01-26 13:05:31

标签: c# wpf xaml mvvm oxyplot

我很难让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 - 这是我的智能感知的截图...

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

那么如何使用OxyPlot.Wpf将数据填充到我的LineSeries中呢?顺便说一句,我仍然没有看到一个空图,即使我编译时没有向LineSeries添加点。我看过的所有示例都是这样做的,或者他们在.xaml.cs代码隐藏文件中编写代码,我不想这样做。

编辑:正如dellywheel提到的那样,我忘记在提问时将LineSeries添加到上面的PlotModel中,所以上面的构造函数应该包含行

Graph1.Series.Add(FirstSeries);

但这只是在输入问题时,不是真正的问题......

1 个答案:

答案 0 :(得分:0)

您尚未将LineSeries添加到图表,图表是Graph1而非Graph 尝试

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);
  }

希望有所帮助