Exemplo n.º 1
0
        private void AddThumb(Point p)
        {
            var pd = new PointDragThumb(_view, AdornedElement as FrameworkElement);

            pd.DragDelta += PointDragDelta;
            pd.PreviewMouseLeftButtonUp += OnPreviewMouseLeftButtonUp;
            visualChildren.Add(pd);
            _poly.UpdateLayout();
        }
Exemplo n.º 2
0
        public override void Activate()
        {
            _poly = AdornedElement as Polyline;
            if (_poly == null)
            {
                throw new ArgumentException();
            }

            foreach (var p in _poly.Points)
            {
                var pd = new PointDragThumb(_view, AdornedElement as FrameworkElement);
                pd.DragStarted += PointDragStarted;
                pd.DragDelta   += PointDragDelta;
                pd.PreviewMouseLeftButtonUp += OnPreviewMouseLeftButtonUp;
                visualChildren.Add(pd);
            }

            for (int i = 0; i < _poly.Points.Count; i++)
            {
                var m = _poly.GeometryTransform.Value;

                var p = m.Transform(_poly.Points[i]);
                p = _poly.TranslatePoint(p, _view.MainPanel);
                _poly.Points[i] = p;
            }
            _poly.Stretch = Stretch.None;
            EditorHelper.SetDependencyProperty(_poly, Canvas.LeftProperty, DependencyProperty.UnsetValue);
            EditorHelper.SetDependencyProperty(_poly, Canvas.TopProperty, DependencyProperty.UnsetValue);
            EditorHelper.SetDependencyProperty(_poly, FrameworkElement.WidthProperty, DependencyProperty.UnsetValue);
            EditorHelper.SetDependencyProperty(_poly, FrameworkElement.HeightProperty, DependencyProperty.UnsetValue);

            _poly.RenderTransform = null;
            AdornerLayer.GetAdornerLayer(AdornedElement).PreviewMouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(PolylineEditManipulantor_PreviewMouseLeftButtonDown);

            _poly.UpdateLayout();
            base.Activate();
        }