MS Chart, les dates de l'axe X et l'interaction du curseur lorsque la valeur X est indexé
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
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];