对 .NET Framework 图形的支持已移至 .NET Core,但如何继续绘制图像?

MrF*_*Fox 5 c# .net-core

System.Windows.Forms 已移至 .NET Core,现在以 NuGet 包的形式提供。
微软似乎专门列出了尚未移动的组件:
https://learn.microsoft.com/en-us/dotnet/core/compatibility/winforms#removed-controls

我需要迁移图表功能的使用:
using System.Windows.Forms.DataVisualization.Charting;
当我使用基本控件类的绘图功能时,出现以下错误:
类型“Control”是在未引用的程序集中定义的。您必须添加对程序集“System.Windows.Forms,Version=4.0.0.0”的引用

当我转到 Charts 类的定义时,它显示:

public class Chart :Forms.Control 
Run Code Online (Sandbox Code Playgroud)

冒号之前的关键字可识别,但冒号之后的关键字则不可识别。
因此,不知何故 Forms.Control 不可用,但代码可以编译......

以下功能取自 Control 基类,现在不再可用:
- BeginInit;开始放入图形组件
-EndInit;完成添加图形组件
- 更新;在屏幕上直观地显示图形
- SaveImage;将图形视觉效果写入内存流

这些功能如何在.NET CORE中实现?

由于 System.Windows.Forms 已迁移到 .NET Core,我在代码中添加了一个 using ,这没有帮助。
我安装了 Microsoft.Windows.Compatibility 的 NuGet 包,但这也没有帮助。

编辑:
我已经安装了以下 NuGet 包:

System.Windows.Forms.DataVisualization 1.0.0-prerelease.20110.1
System.Drawing.Common 4.7.0
Microsoft.Windows.Compatibility 3.1.0
Run Code Online (Sandbox Code Playgroud)

我尝试安装最新的预览版本,但这尝试将各种依赖项升级到 5.0.0-preview.1.20120.5,但找不到。
以下属性已添加到我的 .csproj 中

<UseWpf>true</UseWpf>
<UseWindowsForms>true</UseWindowsForms>
Run Code Online (Sandbox Code Playgroud)

小智 1

这些功能如何在.NET CORE中实现?

编程。很多编程。那是说...

...鉴于https://github.com/dotnet/winforms/issues/112上的帖子,我认为错误是在您这边。该参考文献表明,该问题已于 2019 年 4 月在 .NTE core 3.0 预览版 5 中修复,其中提到这是端口。

截至今天,https://www.nuget.org/packages/System.windows.forms.datavisualization列出了 DataVisualization 预览版。截至一个月前,表明它确实获得了许多更新,因为该 nuget 软件包已有一个月了 - 但您需要:

  • 显式导入
  • 允许导入预览。

有关此内容的 github 参考位于https://github.com/dotnet/winforms-datavisualization

请注意 github 上的自述文件指出:

“此存储库是只读的。我们认为 System.Windows.Forms.DataVisualization 已弃用,我们提供它只是为了轻松移植到 .NET Core 3。我们不会在此组件中进行创新,因此不会接受任何 PR ”。

这有点与预览角色相矛盾(至少他们应该释放它)。

我自己没用过。这基本上是我在谷歌中搜索一分钟就能找到的内容,从名称空间和“核心”作为关键字开始。

从长远来看,您可能会考虑转向商业图表组件。我对 SciChart 有丰富的经验,但那是一个真正的高端高性能组件。几乎每个组件库都有一个。