2015-11-23 9 views
1

Я пытаюсь получить положение щелчка в своем PlotView или PlotModel. Но я просто получаю очки, которые не касаются каких-либо значений в моем PlotModel.OxyPlot получить щелчок Позиция в PlotView/PlotModel

OxyPlot get clicked point Речь идет о нажатии на LineSeries, а не в любом поситоне моего заговора.

Любые идеи?

ответ

3

Решение: Необходимо использовать InverseTransformation с позицией MouseEvent и вашей осью.

private void plot_MouseDown(object sender, OxyMouseDownEventArgs ex) 
{ 
    PlotModel plot = model as PlotModel; 
    OxyPlot.ElementCollection<OxyPlot.Axes.Axis> axisList = plot.Axes; 

    foreach (OxyPlot.Axes.Axis ax in axisList) 
    { 
     if (ax.Position == AxisPosition.Bottom) 
     X_Axis = ax; 
     else if (ax.Position == AxisPosition.Left) 
     Y_Axis = ax; 
    } 

    DataPoint p = OxyPlot.Axes.Axis.InverseTransform(ex.Position, X_Axis, Y_Axis); 
}