Пример #1
0
        private void DelCanvasLine()
        {
            Canvas canvas = this.Parent as Canvas;

            if (canvas == null)
            {
                return;
            }
            ObservableCollection <UIElement> temp = new ObservableCollection <UIElement>();

            foreach (var item in canvas.Children)
            {
                if (item is Polyline)
                {
                    Polyline line = item as Polyline;
                    if (line.Tag == LineChartDataSelected)
                    {
                        temp.Add(line);
                    }
                }
                else if (item is KnotThumbControl)
                {
                    KnotThumbControl knotThumb = item as KnotThumbControl;
                    if (knotThumb.LineChartDataSelected == LineChartDataSelected)
                    {
                        temp.Add(knotThumb);
                    }
                }
            }
            foreach (var item in temp)
            {
                canvas.Children.Remove(item);
            }
        }
Пример #2
0
        private void OnDragDelta(object sender, DragDeltaEventArgs e)
        {
            KnotThumbControl thumb = e.OriginalSource as KnotThumbControl;

            if (thumb == null)
            {
                return;
            }
            double VerticalChange = e.VerticalChange;
            Canvas canvas         = thumb.Parent as Canvas;

            if (canvas == null)
            {
                return;
            }
            Canvas.SetTop(thumb, Canvas.GetTop(thumb) + VerticalChange);

            ConvertData(canvas, Canvas.GetTop(thumb) + VerticalChange);
            if (DragDeltaEvent != null)
            {
                DelCanvasLine();
                DragDeltaEvent(LineChartDataSelected, e);
            }

            e.Handled = true;
        }
        private void DrawPolylineKnotsChartData(Point[] points, LineService curve)
        {
            for (int i = 0; i < points.Length; i++)
            {
                KnotThumbControl knotThumbControl = new KnotThumbControl();
                //knotThumbControl.DragDeltaEvent += KnotThumbControl_DragDeltaEvent;
                knotThumbControl.DragComplatedEvent   += KnotThumbControl_DragComplatedEvent;
                knotThumbControl.KnotString            = curve.LineLegendItem.TitleIcon;
                knotThumbControl.KnotPath              = Geometry.Parse(curve.LineLegendItem.TitleIconPath);
                knotThumbControl.KnotColor             = curve.LineLegendItem.Color;
                knotThumbControl.LineChartDataSelected = curve;
                knotThumbControl.SelectedPointX        = points[i].X;
                if (curve.LineLegendItem.TitleIcon == "•")
                {
                    Canvas.SetLeft(knotThumbControl, points[i].X);
                    Canvas.SetTop(knotThumbControl, points[i].Y - 3);
                }
                else
                {
                    Canvas.SetLeft(knotThumbControl, points[i].X - 2);
                    Canvas.SetTop(knotThumbControl, points[i].Y - 3);
                }

                this.BorderChart.Children.Add(knotThumbControl);
            }
        }