C# WPF 工具包图表 : Bind with 16k points speed

标签 c# wpf charts toolkit

图表绑定(bind)到16000点时,绑定(bind)速度很慢。

我有图表(Wpf 工具包):

<chartingToolkit:Chart ... DataContext="{Binding Data}" ... >

数据是 ViewModel 中的一个属性(我使用的是 MVVM 模式):

public List<Point> Data { get { return series; } }

series 是一个字段:

private List<Point> series;

在 ViewModel 的构造函数中:

for ( ... ; ...;  ... )
{
  y = ...
  series.Add(new Point((i * scale), y));
}

当我尝试将图表绑定(bind)到数据时,程序会卡住大约 1-2 分钟,然后确定。我在 WinForms 上制作了相同的程序 - 速度非常快。知道如何解决这个绑定(bind)问题吗?

最佳答案

最好的方法是减少点数。您通常会注意到,控件上有很多 WPF 元素会导致性能问题,而且它们的 WinForm 计数器部分通常没有问题。

在图表的情况下,我想象正在使用圆圈和线条,并在 WPF 树结构中记住,以便 WPF 记住 16k + 元素。尝试在 WPF 中嵌入 WinForms 图表可能会更好,它更像是 Canvas ,一旦绘制就忘记了重点....

关于C# WPF 工具包图表 : Bind with 16k points speed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13843482/

相关文章:

c# - C# ActionCommand :ICommand into VB.net 翻译

c# - 从应用程序内将包含 Mysql 数据的 HTML 电子邮件发送到表中

c# - 解析器将 .net 字典或列表转换为 VBA 的等效字典或集合

wpf - WPF 应用程序的配色方案

c# - 以编程方式设置 DateTimePicker 工具提示

c# - 在其他程序集中加载控件时,TextBox 的样式导致异常

c# - Chrome 是如何实现其标签的?

javascript - 如何在 google 表格中使用 javascript 数组?

java - 对于Apache poi折线图,如何使第一列不显示在y轴上

javascript - 根据值 HIGHCHARTS 放置条件