Как программно определить ширину сечения оси Y диаграммы WPF? - PullRequest
0 голосов
/ 11 июня 2011

Я занимаюсь разработкой приложения WPF со столбчатой ​​диаграммой с накоплением (я использую функции диаграмм Silverlight Toolkit).Мне нужно динамически наложить полупрозрачный прямоугольник на участок диаграммы - размер и расположение прямоугольника необходимо адаптировать к количеству точек данных на оси X.Значения оси X представляют дни, число которых может варьироваться, но прямоугольник всегда должен покрывать 30 дней.

В любом случае, я выяснил большую часть, но мне нужно выяснить,какую ширину занимает участок метки оси Y на диаграмме, чтобы я мог принять это во внимание при расчете размера и местоположения прямоугольника.

Для диаграммы доступно свойство "Фактическая ширина"но я не знаю, как получить фактическую ширину только для области метки оси Y.Кто-нибудь знает, как это найти?

1 Ответ

1 голос
/ 09 сентября 2011

Мне удалось решить эту проблему, подождав, пока диаграмма не будет загружена, а затем, используя описанные здесь методы http://www.scottlogic.co.uk/blog/colin/2009/03/adding-a-location-crosshair-to-silverlight-charts-again/.

Ключевым моментом здесь является выполнение обработки при получении события Loaded:

MyChart.Loaded += (sender, e) =>
{
    // MyChart is about to be rendered
    // it's now safe to access the ActualWidth properties of the chart components
    MyRectangle.Left = MyChart.ActualWidth/2;
}
...