如何让ViewModel触发View更新

时间:2016-04-24 20:01:31

标签: wpf mvvm charts syncfusion

我需要最多20个系列的实时图表(100-200ms更新)。经过一些研究后,我决定使用syncfusion,因为我可以使用社区许可证,乍一看它似乎表现得很好。唯一的缺点似乎是有时缺乏MVVM支持。

为了获得良好的实时性能,我发现了这篇博文: https://www.syncfusion.com/blogs/post/Deliver-high-performance-charts-with-Syncfusions-WPF-chart-control.aspx

我对“批量更新”部分特别感兴趣,因为所有20个系列都会同时更新,所以不需要重新渲染图表20次。

另一种选择似乎是:http://help.syncfusion.com/wpf/sfchart/how-to/add-range-of-points-dynamically 我还没有调查这些差异。

但我怎样才能使这个MVVM友好。

感谢您的建议!

1 个答案:

答案 0 :(得分:0)

可以通过从ViewModel类中初始化的视图(UserControl)访问SfChart控件,以访问SfChart中的SuspendNotification和ResumeNotification方法来实现此要求。 实时更新可以通过两种方式实现。

  1. 通过使用自动滚动功能,在实时更新时保持固定数量的视点,还可以通过滚动查看旧数据。
  2. 在最后添加新记录时从集合中删除第一条记录。 演示样本:Real_Update_Samples