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();
            }
        }
示例#2
0
        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;
            }
        }