我正在使用SciChart v3.1,我需要在同一个窗口(在不同的选项卡中)显示两个图表,两者都显示相同的数据。我正在“实时”绘制数据(每秒添加一个新点),但我发现新值不会出现在图表上,因为它们被添加到绑定系列中。我发现我可以通过重新创建绑定到图表Y轴的VisibleRange来刷新图表,但这并不理想。
如果窗口上只有一个图表,那么工作正常,所以问题似乎指向使用两个图表。有什么想法吗?我很欣赏我使用的是旧版本,但是如果这是一个已知问题,我是否感到好奇,以及是否有解决方法。
答案 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可能仍然是共享的。