winforms 是否可以使用.NET Core创建图表

nsc4cvqm  于 2023-01-14  发布在  .NET
关注(0)|答案(4)|浏览(113)

我需要在Visual Studio中创建线图在C#。我有一个问题,这是可以创建图表与.NET核心在Windows窗体?

fhity93d

fhity93d1#

是的,你可以像我这样做。
1.安装到WinForms核心项目Microsoft charts nuget
1.安装到WinForms核心项目other nuget
1.备注:Winforms核心项目中的图表的表单设计器将不起作用。但您可以创建一个临时的Winforms .Net Framework项目。然后通过项目表单设计器创建一个图表。
1.然后将图表代码复制到第一个WinForms核心项目中。
这就是你所需要的。

ne5o7dgx

ne5o7dgx2#

是的,这是可能的。你可以在这里得到示例代码https://github.com/dotnet/winforms-datavisualization
折线图示例可在文件夹 *sample/ChartSamples/ChartTypes/LineCharts * 中找到。

**注意:**数据可视化已弃用

brqmpdu1

brqmpdu13#

我通过安装系统.窗口.窗体.数据可视化+系统.数据.SqlClient来实现
不要在Winforms核心项目中使用窗体设计器来设计图表。只需使用.Net Framework(非核心)创建一个新的Winforms解决方案。然后使用设计器在新窗体中创建一个图表,您可以根据需要调整它(颜色、系列...)。复制相关的图表代码(从cs背后的代码)到您的Winforms核心项目中,就这样。

zlhcx6iw

zlhcx6iw4#

一种可能的解决方案是使用CEFSharp控件显示网页,此页显示使用生成的图表
https://github.com/Indemos/Canvas

<CanvasView @ref="View"></CanvasView>

@code
{
  public CanvasView View { get; set; }

  protected override async Task OnAfterRenderAsync(bool setup)
  {
    if (setup)
    {
      var generator = new Random();
      var points = Enumerable.Range(1, 1000).Select(i => new BarShape 
      { 
        X = i, 
        Y = generator.Next(-5000, 5000) 
      
      } as IItemModel).ToList();
      
      var composer = new Composer
      {
        Name = "Demo",
        Items = points
      };

      await View.Create<CanvasEngine>(engine => composer);

      composer.Update();
    }

    await base.OnAfterRenderAsync(setup);
  }
}

免责声明:我是作者。

相关问题