MS Chart, les dates de l'axe X et l'interaction du curseur lorsque la valeur X est indexé

StackOverflow https://stackoverflow.com/questions/3003361

  •  25-09-2019
  •  | 
  •  

Question

Bonjour,

Wow quel titre.

Au fond est la chose ici.

Si une série chronologique qui n'est pas continu.

Par conséquent, puisque j'utilise la propriété IsXValueIndexed de la série (valeur true) pour réduire l'espace entre les points séparés.

Cela fonctionne très bien, mais je voudrais maintenant être en mesure de récupérer le détail d'un point du graphique (valeurs X et Y) et les afficher dans une étiquette sur le formulaire.

Par conséquent, j'utilise l'événement suivant:

void myChart_CursorPositionChanging(object sender, CursorEventArgs e)
    {
        if (!double.IsNaN(e.NewPosition))
        {
            if (e.Axis.AxisName == AxisName.X)
            {
                lbl_selDate.Content = DateTime.FromOADate(e.NewPosition);
            }
            else
            {
                lbl_selValue.Content = e.NewPosition;
            }
        }
    }

Le problème est que la date est incorrecte ... Je ne peux pas trouver la méthode de conversion droit de récupérer cette timestamp damnés.

Pouvez-vous, par hasard, me aider?

Merci!

Jeremie

Était-ce utile?

La solution

supposons que vous avez axe x de type DateTime puis utilisez:

DateTime xValue = DateTime.FromOADate(((Chart)sender).Series[0].Points[(int)e.NewPosition - 1].XValue)

supposons que vous avez axe y de type double puis utilisez:

double yValue = ((Chart)sender).Series[0].Points[(int)e.NewPosition - 1].YValues[0];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top