具有动态网格的SciChart AxesPanelTemplate

时间:2019-05-22 18:34:02

标签: c# wpf scichart

我的任务是在SciChart中绘制数量灵活的数字信号实时数据。 由于该信号的性质,它们在0.1.1之间。我想像在https://www.scichart.com/example/wpf-chart-example-vertically-stacked-yaxis/中找到的SciChart示例中那样堆叠它们。 但是在YAxesPanelTemplate内有一个动态网格模板。我尝试过的任何操作都不会绘制YAx。

我使用的是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/

我们非常感谢您的帮助

欢呼

马丁

1 个答案:

答案 0 :(得分:0)

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

  1. 指定VM中的YAx数量
  2. 使用它在ItemPanelTemplate内部构建网格并与DynamicResource绑定(请参见下面的链接中的示例)
  3. 要这样做,请使用class from this blog并根据需要采用。我建立 我的用例的专门类
  4. 绑定到RenderSurface的SizeChangedEvent迭代轴 YAx,计算每个轴的高度并进行设置。
  5. 在同一循环内不要忘记通过使用设置行 Grid.SetRow(axis,rowIndex)

从我的角度来看,这种方法并不是表现最好的方法,而是我能够从SciChart文档中发现的唯一方法。

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

也许SciChart的某人(@ABT博士-也许)可以帮助完成最后一项任务?

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

欢呼

马丁