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 有丰富的经验,但那是一个真正的高端高性能组件。几乎每个组件库都有一个。
| 归档时间: |
|
| 查看次数: |
9180 次 |
| 最近记录: |