处理快速更改的wpf数据源

时间:2015-04-28 20:33:02

标签: c# .net wpf linq

我有快速传入的数据(基本上是表格数据集的行)。当我收到这些行时,我将它们合并/插入到数据缓存中。数据必须显示在WPF控件(项目控件)上。

问题: 数据不直接绑定到用户控件。在将数据显示给数据之前,将对数据应用一系列过滤器和分组/聚合(使用LINQ完成)。因此,用户在控件上看到的内容可能会发生巨大变化(例如,他更改了分组,然后所有行都会发生变化)。

这就是我现在正在做的事情: 当数据快速进入非常时,线程每2秒获取一次数据,应用过滤器,然后对数据进行分组并将数据集绑定到wpf项控件。 这绝对不是很好,因为每2秒将新数据表设置为数据源。一段时间后,应用程序变得迟钝。

解决这个问题的最佳方法是什么?感谢。

1 个答案:

答案 0 :(得分:0)

我认为解决这个问题的最佳方法是创建一个view source并将显示元素直接绑定到那个 - 这样你就可以使用内置的东西来获得分组和过滤系统了。 / p>

然后我会调查virtualisation and optimisation,这有助于展示大量数据。

作为一个更一般的说明,我会说你是否真的需要所有那些数据以及那个频率显示;它可能是一种更好的用户体验(并且更容易在机器上)来聚合数据并只显示相关细节,然后用户可以根据需要进一步深入研究。