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

时间:2016-09-07 11:40:53

标签: scichart

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

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

1 个答案:

答案 0 :(得分:1)

在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可能仍然是共享的。