Перемещение вертикальной аннотации только между точками данных

#c# #winforms #charts

Вопрос:

У меня есть диаграмма со множеством точек данных и вертикальной аннотацией. Я хочу, чтобы вертикальная аннотация перемещалась только из точки данных в точку данных, а не между ними.

Я написал это для того, чтобы установить вертикальную аннотацию :

  VA.X = chart1.Series[0].Points[0].XValue;
            VA.AllowMoving = true;
            VA.IsInfinitive = true;
            VA.AnchorDataPoint = chart1.Series[0].Points[0];              
            VA.LineColor = Color.Red;
            VA.LineWidth = 2;
            VA.LineDashStyle = ChartDashStyle.Solid;
 

и вот как вертикальная аннотация получает свои значения

  private void chart1_AnnotationPositionChanging(object sender, AnnotationPositionChangingEventArgs e)
{
         
   var pt1 = (int)VA.X;
    int i = 0;

        foreach (var signal in Signals)
        {
            valtot = signal.Points[pt1].YValues[0];
                               
            i  ;
        }
 

Как я мог просто перейти от одной точки данных к другой? Я не хочу, чтобы значения между точками данных, и поэтому VA не должен быть в состоянии быть размещен только на точках данных.

РЕДАКТИРОВАТЬ : Вот картина того, чего я хочу достичь.

введите описание изображения здесь

the little blue circles represent datapoints. I want my red line to move only across these little blue circles and not in the area between them.