OxyPlot WPF 在后台生成图像

OxyPlot WPF generate image in background

我有以下问题:

我的一个 Prism 视图中有一个图。我的目标是从我的应用程序生成报告,其中包括生成的 OxyPlot 图表。我使用以下行将绘图保存到图像中:

plot.SaveBitmap(fileName, 960, 540, OxyColor.FromRgb(255, 255, 255));

当我尝试保存位图之前未在用户界面中看到绘图时出现问题。在这种情况下,我只得到空白图,大小正确但没有内容的白色位图。没有轴,没有标题(位图只是空白)。当我使用函数生成 XAML 而不是 Bitmap 时,结果是一样的:根本没有内容。

我还注意到绘图保存时,绘图的宽度和高度都设置为 0。在保存功能之前设置此值不会更改结果文件。

我在保存图像之前尝试了以下代码:

plot.InvalidatePlot();

甚至:

plot.InvalidatePlot();

Action emptyAction = delegate { };
plot.Dispatcher.Invoke(DispatcherPriority.Render, emptyAction);

plot.InvalidatePlot();

当我浏览用户界面时,我可以看到情节:保存功能恢复到正确的行为。没有例外,该图在保存之前有我的数据要绘制。

求求你帮忙...

我在使用 oxyplot 时遇到了同样的问题。我试图将图像导出到一个文件,但只有当我首先在屏幕上显示它时它才有效。要使其工作,您必须以编程方式定义所有模型,并将模型绑定到 XAML。这样您就不必通过视图来正确导出。