在OxyPlot中,<oxy:PlotView>
和<oxy:Plot>
都是用来显示图表的控件,在WPF项目中使用oxyplot之前,先通过NuGet安装依赖包:OxyPlot.Wpf
。
<oxy:PlotView>
和<oxy:Plot>
使用示例:
<oxy:PlotView>
控件是一个视图控件,它绑定到一个PlotModel对象
。这意味着你可以创建一个PlotModel实例,配置它的系列、轴和其他设置,然后将这个模型绑定到PlotView。PlotView负责显示PlotModel的内容,例如:
<oxy:PlotView Model="{Binding MyModel}" />
public partial class MainWindow : Window
{public MainWindow(){InitializeComponent();this.MyModel = new PlotModel { Title = "Example 1" };this.MyModel.Series.Add(new FunctionSeries(Math.Cos, 0, 10, 0.1, "cos(x)"));}public PlotModel MyModel { get; private set; }
}
<oxy:Plot>
控件是一个更静态的控件,它允许你直接在XAML中定义图表。你可以在<oxy:Plot>
标签内部定义系列和轴,而不需要创建一个单独的PlotModel对象。这种方式适合简单的图表,或者当你不需要在代码中动态修改图表内容时使用,例如:
<oxy:Plot Title="Simple Plot"><oxy:Plot.Series><oxy:LineSeries><oxy:LineSeries.Points><oxy:DataPoint X=0 Y=0 /><oxy:DataPoint X=1 Y=1 /></oxy:LineSeries.Points></oxy:LineSeries></oxy:Plot.Series>
</oxy:Plot>
错误信息
前面的代码是oxyplot官方文档中的使用方法,最近我按照这种方式使用<oxy:Plot>
控件的时候出现了如下图所示的报错:
解决方法
在OxyPlot.Wpf
依赖包版本为1.x时,前面示例代码中的使用方法是没有错的,但是在版本2.x之后,Plot
类被移到了另一个库,所以当我引用的OxyPlot.Wpf
版本为2.x时,程序会出现这个错误。
要解决这个问题,有两个方法: