C# WPF 工具包图表:如何将16k个数据点快速绑定?

3

图表 绑定到 16000 个点时,绑定速度非常缓慢。

我有一个图表(Wpf 工具包):

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

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

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

系列是一个字段:

private List<Point> series;

在ViewModel的构造函数中:
for ( ... ; ...;  ... )
{
  y = ...
  series.Add(new Point((i * scale), y));
}

当我尝试将图表绑定到数据时,程序会冻结大约1-2分钟,然后才能正常。我在WinForms上制作了相同的程序-速度完美。有什么办法可以解决这个绑定问题吗?


2
我可能错了,但是一个图表有16k个点是必要的吗? - DHN
1个回答

0

最好的方法是减少点的数量。通常情况下,一个控件上有很多WPF元素会导致性能问题,而它们的WinForm对应部分通常都没问题。

在图表的情况下,我想可能使用了圆和线,并在WPF树结构中记忆,因此WPF记忆了16k个元素以上。尝试将WinForms图表嵌入到WPF中可能会更好,这样更像画布,一旦绘制就可以忘记该点....


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接