How to get current Y value of annotation in code behind?
- Alitec Developer asked 8 years ago
- last edited 8 years ago
- You must login to post comments
Thanks for the additional info! OK so you want to get the Intercept of the VerticalLineAnnotation with a series, is that right?
In that case you need to use our Hit-Test API.
Some code like this should do it:
// Starting with the X value of the VerticalLineAnnotaiton
double x1 = verticalLineAnnotation.X1;
// Perform a VerticalSliceHitTest on the series. Also see .HitTest() method for X,Y hit-tests whereas VerticalSliceHitTest considers X
HitTestInfo hitTestResult = renderableLineSeries.VerticalSliceHitTest(new Point(x1, 0));
// Now you have the X,Y value of the series at the hit test site
double xValueAtHit = (double)hitTestResult.XValue;
double yValueAtHit = (double)hitTestResult.YValue;
// And the screen coord
Point xyCoordAtHit = hitTestResult.HitTestPoint;
Best regards,
Andrew
- Andrew Burnett-Thompson answered 8 years ago
-
Is it possible to use this with VerticalLineAnnotationViewModel? If I pass in my X1 position from a custom class based on VerticalLineAnnotationViewModel the VerticalSliceHitTest detects no hit at all. The solution below is not suitable for me because I’m working on unsorted data so ‘SearchMode.Nearest’ won’t work for FindIndex().
- You must login to post comments
I found solution:
var dataseries = this.ParentSurface.RenderableSeries[0].DataSeries;
var index = dataseries.FindIndex(MainAnnotation.X1, SciChart.Charting.Common.Extensions.SearchMode.Nearest);
var yValue = (IComparable)this.ParentSurface.RenderableSeries[0].DataSeries.YValues[index];
- Alitec Developer answered 8 years ago
- You must login to post comments
Please login first to submit.