/// <summary> /// Converts the specified physical coordinates in pixels to data using the specified chart axes. /// </summary> /// <param name="coordinates">The physical coordinates.</param> /// <param name="horizontalAxis">The horizontal axis.</param> /// <param name="verticalAxis">The vertical axis.</param> public Tuple <object, object> ConvertPointToData(Point coordinates, Axis horizontalAxis, Axis verticalAxis) { if (horizontalAxis == null || verticalAxis == null || this.chartArea == null) { return(new Tuple <object, object>(null, null)); } RadPoint point = new RadPoint(coordinates.X, coordinates.Y); var chartArea = this.chartArea as CartesianChartAreaModel; return(chartArea.ConvertPointToData(point, horizontalAxis.model, verticalAxis.model)); }
/// <summary> /// Converts the specified data point coordinates to physical coordinates (in pixels) using the specified chart axes. /// </summary> /// <param name="data">The data point coordinates according to the specified chart axes.</param> /// <param name="horizontalAxis">The horizontal axis.</param> /// <param name="verticalAxis">The vertical axis.</param> public Point ConvertDataToPoint(Tuple <object, object> data, Axis horizontalAxis, Axis verticalAxis) { if (data == null || horizontalAxis == null || verticalAxis == null) { return(new Point(double.NaN, double.NaN)); } RadPoint coordinates = (this.chartArea as CartesianChartAreaModel).ConvertDataToPoint(data, horizontalAxis.model, verticalAxis.model); return(coordinates.ToPoint()); }
private static void OnVerticalLocationChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { Axis presenter = sender as Axis; presenter.model.VerticalLocation = (AxisVerticalLocation)e.NewValue; }