private void marker_MouseUp(object sender, MouseEventArgs e) { try { MouseButtonEventArgs arg = e as MouseButtonEventArgs; if (arg.ChangedButton == MouseButton.Right) { SeriesEventMarker marker = sender as SeriesEventMarker; marker.MouseUp -= marker_MouseUp; FreeformPointLineSeries fpls = marker.GetOwnerSeries() as FreeformPointLineSeries; int index = fpls.SeriesEventMarkers.IndexOf(marker); if (index == 0 || index == fpls.SeriesEventMarkers.Count - 1) { return; } m_chart.BeginUpdate(); fpls.SeriesEventMarkers.Remove(marker); FitSpline(fpls); m_chart.EndUpdate(); } } catch (Exception ex) { EventAggregatorService.Instance.EventAggregator.GetEvent <ThrowExceptionEvent>().Publish(Tuple.Create <string, Exception>("数据回放-动态拟合-移除点", ex)); } }
private void marker_PositionChanged(SeriesEventMarker sender, double x, double y, ref bool cancelRendering) { try { //Set new value to point having same index than the marker FreeformPointLineSeries fpls = sender.GetOwnerSeries() as FreeformPointLineSeries; int iPointIndex = fpls.SeriesEventMarkers.IndexOf(sender); if (iPointIndex >= 0) { cancelRendering = true; FitSpline(fpls); } } catch (Exception ex) { EventAggregatorService.Instance.EventAggregator.GetEvent <ThrowExceptionEvent>().Publish(Tuple.Create <string, Exception>("数据回放-动态拟合-移动点", ex)); } }