Перечисление DataPoints в представлении - PullRequest
2 голосов
/ 03 апреля 2012

Оригинальный вопрос

Я использую Microsoft Chart Control для отображения некоторых точек данных в виде Линии. У меня есть легенда с пользовательскими элементами, которые используются для отображения рассчитанной информации о линии (среднее значение и другие).

Теперь я включил IsUserSelectionEnabled, что позволяет пользователю «увеличивать» диапазон значений, и я хочу, чтобы элементы легенды рассчитывались только для тех точек данных, которые в данный момент отображаются.

Я могу использовать событие AxisViewChanged, чтобы получать уведомления об изменении вида, но я не могу понять, как перечислить только те DataPoint, которые в данный момент отображаются.

Обновление

Увеличение не сработает для моей цели. Я обнаружил, что свойства NewPosition и NewSize события AxisViewChanged на самом деле содержат точную область, выбранную пользователем, но результирующий масштаб содержит точки за пределами этой области. Мне нужно больше точности, чем это. Мне нужны два курсора, но управление дает только один.

Итак, мой вопрос: как мне настроить эту вещь, чтобы добавить еще один курсор? Я пока не спрашиваю, и если я это сделаю, я начну новый вопрос.

Хотя мне все еще нужно выяснить, как перевести клиентские координаты в координаты данных ...

Обновлен снова

Я нашел функции перевода координат прямо на Оси. Кажется очевидным в ретроспективе. ChartArea.Axis.PixelPositionToValue (для любой нужной оси) ChartArea.Axis.ValueToPixelPosition

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...