当图表绑定(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/