绑定到同一个 SeriesSource 的两个 scicharts,不更新

Two scicharts bound to the same SeriesSource, not updating

我正在使用 SciChart v3.1,我需要在同一个 window(在不同的选项卡中)上显示两个图表,两个图表都显示相同的数据。我正在绘制数据 "real time"(每秒添加一个新点),但我发现新值没有出现在图表上,因为它们被添加到绑定系列中。我发现我可以通过重新创建绑定到图表 Y 轴的 VisibleRange 来刷新图表,但这并不理想。

如果 window 上只有一个图表,一切正常,所以问题似乎指向使用两个图表。有什么想法吗?感谢我使用的是旧版本,但很好奇这是否是一个已知问题,以及是否有解决方法。

在 SciChart v3 中,SeriesSource API 绑定到 ObservableCollection of IChartSeriesViewModel。每个 IChartSeriesViewModel 都包含 DataSeries 和 BaseRenderableSeries(这是一个框架元素)。

因此,您的图表实际上在两个图表(两个视觉父级)上有 WPF FrameworkElements - 这是 WPF 术语的一大禁忌。

This was a known issue in SciChart v3,因此 SciChart 团队在 SciChart 的第 4 版中重写了这个 API。

新的 MVVM API: SeriesBinding,将 View 与 ViewModel 完全分开,这样您就可以将多个图表绑定到同一组 ViewModel,并且它会按预期工作。

v3 的解决方法。确保每个图表都有新的 IChartSeriesViewModel 和 RenderableSeries。 DataSeries 可能仍然是共享的。