private void diagram_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { Point position = e.GetPosition(cht); DevExpress.Xpf.Charts.DiagramCoordinates diagramCoordinates = diagram.PointToDiagram(position); if (!diagramCoordinates.IsEmpty) { curTime = diagramCoordinates.DateTimeArgument; chtlin.Value = curTime; trc.EditValueChanged -= new DevExpress.Xpf.Editors.EditValueChangedEventHandler(trc_EditValueChanged); progress = (curTime - startDate).TotalMinutes / alltimes.TotalMinutes; trc.Value = progress; trc.EditValueChanged += new DevExpress.Xpf.Editors.EditValueChangedEventHandler(trc_EditValueChanged); refreshtime(); refreshData(); } }
private void GraphicsCollection_MouseDoubleClick(object sender, MouseButtonEventArgs e) { if (chart.CrosshairEnabled == true) { try { DevExpress.Xpf.Charts.DiagramCoordinates coord = (sender as DevExpress.Xpf.Charts.XYDiagram2D).PointToDiagram(e.GetPosition(chart)); double my_x = coord.NumericalArgument; if (GraphicsCollection.DefaultPane.IsMouseOver == true) { indexOfPane = 0; } else { for (int k = 0; k < GraphicsCollection.Panes.Count; k++) { if (GraphicsCollection.Panes[k].IsMouseOver == true) { indexOfPane = k + 1; } } } indexOfSelected = (PointsCollectionForGraphs[indexOfPane].Where(i => (i.X <= my_x))).Count() - 1; //for (int k = 0; k< PointsCollectionForGraphs.Count; k++) //{ // indexOfSelected = (PointsCollectionForGraphs[k].Where(i => (i.X <= my_x))).Count() - 1; // if (indexOfSelected != -1) // { // indexOfPane = indexOfSelected; // break; // } //} GraphicsCollection.ShowCrosshair(PointsCollectionForGraphs[indexOfPane][indexOfSelected].X, PointsCollectionForGraphs[indexOfPane][indexOfSelected].Y, GraphicsCollection.AxisX, GraphicsCollection.AxisY); chart.CrosshairEnabled = false; } catch { } } else { chart.CrosshairEnabled = true; } }