具有动态网格的 SciChart AxesPanelTemplate

SciChart AxesPanelTemplate with dynamic grid

我的任务是在 SciChart 中绘制灵活数量的数字信号实时数据。 由于此信号的性质,它们介于 0..1 之间。我想让它们像 https://www.scichart.com/example/wpf-chart-example-vertically-stacked-yaxis/ 中的 SciChart 示例一样堆叠。 但是在 YAxesPanelTemplate 中有一个动态网格模板。无论我尝试什么,都没有绘制 YAxes。

我使用的 GridExtension 与此处找到的非常接近: https://rachel53461.wordpress.com/2011/09/17/wpf-grids-rowcolumn-count-properties/ 参考这个答案 https://rachel53461.wordpress.com/2011/09/17/wpf-grids-rowcolumn-count-properties/

非常感谢任何帮助

干杯

马丁

我的解决方案可能并不理想,但它几乎对我有用。 由于我正在为客户开发代码,因此 NDA 不允许我 post 编码,但我可以给出我的理论方法。

  1. 指定 VM 中的 YAxes 数量
  2. 使用它在 ItemPanelTemplate 中构建网格并与 DynamicResource 绑定(参见下面 link 中的示例)
  3. 为此,请使用 class from this blog 并根据需要采用。我建立 我的 use-case
  4. 的专门 class
  5. 绑定到 RenderSurface 的 SizeChangedEvent 迭代轴 YAxes,计算每个轴的高度并设置它。
  6. 在同一个循环中不要忘记使用 Grid.SetRow(轴,行索引)

在我看来,这种方法并不是最有效的方法,但却是我能够从 SciChart 文档中发现的唯一方法。

我面临的最后一个任务是获取 RenderSurface 图表部分的高度,因为 SizeChanged 中给出的高度是包含 YAxis 和其他绘制内容的完整高度。

也许来自 SciChart 的人(@Dr.ABT - 只是也许)可以帮助完成最后一项任务?

希望这对其他人也有帮助。

干杯

马丁