SciChart AxesPanelTemplate с динамической сеткой - PullRequest
0 голосов
/ 22 мая 2019

Моя задача - нарисовать в SciChart гибкое количество цифровых сигналов в реальном времени.Из-за характера этих сигналов они находятся между 0..1.Я хочу, чтобы они были сложены, как в примере SciChart, найденном в https://www.scichart.com/example/wpf-chart-example-vertically-stacked-yaxis/. Но с динамическим шаблоном сетки внутри 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/

Любая помощь высоко ценится

Приветствия

Мартин

1 Ответ

0 голосов
/ 26 мая 2019

моё решение может быть не идеальным, но оно почти работает для меня.Поскольку я разрабатываю код для клиента, мне запрещено публиковать код по NDA, но я могу дать свой теоретический подход.

  1. указать количество YAxes в ВМ
  2. используйте это для построения сетки внутри ItemPanelTemplate и связывания с DynamicResource (см. Пример в ссылке ниже)
  3. , чтобы сделать это, используйте класс из этого блога и при необходимости примите.Я создаю специализированный класс для своего варианта использования
  4. привязка к SizeChangedEvent объекта RenderSurface. Итерация осей из YAxes, вычисление высоты для каждой оси и установка ее.
  5. внутри того же цикла, не забудьтеустановить строку с помощью Grid.SetRow (axis, rowIndex)

Этот подход, на мой взгляд, не самый эффективный, но единственный, который мне удалось обнаружить из документов SciChart.

Последняя задача, с которой я сталкиваюсь, - это получить высоту части диаграммы RenderSurface, поскольку высота, заданная в SizeChanged, равна полной высоте, включая YAxis и другие нарисованные элементы.

Может быть, кто-то из SciChart (@Dr. ABT - просто возможно) может помочь в этом последнем задании?

Надеюсь, это поможет кому-то еще.

Приветствия

Мартин

...