You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于OxyPlot对Xamarin.Forms WPF支持及报错的技术咨询

关于OxyPlot在Xamarin.Forms WPF中的两个问题解答

问题1:OxyPlot是否支持Xamarin.Forms WPF?

OxyPlot支持Xamarin.Forms WPF平台,但不需要单独的“Xamarin.Forms.WPF”专属NuGet包。你需要在WPF项目中安装两个包:

  • OxyPlot.Xamarin.Forms:核心跨平台包,提供Xamarin.Forms层面的PlotView控件
  • OxyPlot.Wpf:WPF平台的原生渲染依赖包,负责在WPF环境中完成图表渲染

直接在NuGet包管理器中搜索这两个包安装即可。

问题2:运行时抛出System.InvalidOperationException的解决方法

Xamarin.Forms WPF平台的OxyPlot渲染器不需要像Android/iOS那样调用显式的Init()方法,你遇到的报错大概率是依赖缺失或初始化流程问题,按以下步骤排查:

  • 检查NuGet包完整性:确保WPF项目同时安装了OxyPlot.Xamarin.Forms和OxyPlot.Wpf,缺一不可。
  • 确认Xamarin.Forms初始化:在WPF项目的App.xaml.cs中,确保Xamarin.Forms.Forms.Init()在窗口初始化前调用,示例代码:
protected override void OnStartup(StartupEventArgs e)
{
    Xamarin.Forms.Forms.Init();
    base.OnStartup(e);
    MainWindow = new MainWindow();
    MainWindow.Show();
}
  • 检查XAML命名空间:确保页面XAML中正确引用OxyPlot的命名空间:
xmlns:oxy="clr-namespace:OxyPlot.Xamarin.Forms;assembly=OxyPlot.Xamarin.Forms"
  • 清理重建项目:删除项目的bin和obj文件夹,清理解决方案后重新生成,避免缓存导致的依赖加载问题。

如果以上步骤完成后仍报错,可查看报错的详细堆栈信息,确认是否是PlotModel配置问题(比如空Series集合、非法轴设置等)。

内容的提问来源于stack exchange,提问作者iThai1996

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 22:45:28