Esempio n. 1
0
 protected override void OnMouseMove(MouseEventArgs e)
 {
     base.OnMouseMove(e);
     if (e.LeftButton != MouseButtonState.Pressed)
     {
         _start = new Point?();
     }
     if (_start.HasValue)
     {
         AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(this);
         if (adornerLayer.IsNotNull())
         {
             adornerLayer.Add(new SSSelectionAdorner(this, _start));
         }
     }
     if (e.LeftButton != MouseButtonState.Pressed || _moving)
     {
         return;
     }
     _moving = true;
 }
Esempio n. 2
0
        protected override void OnMouseUp(MouseButtonEventArgs e)
        {
            if (IsMouseCaptured)
            {
                ReleaseMouseCapture();
                Mouse.OverrideCursor = (Cursor)null;
            }
            AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(_canvas);

            if (adornerLayer.IsNotNull())
            {
                var pt = _canvas.TranslatePoint(_start.Value, adornerLayer);
                adornerLayer.Remove(this);
                _canvas.AddSelection(pt,
                                     Math.Abs(_start.Value.X - _end.Value.X),
                                     Math.Abs(_start.Value.Y - _end.Value.Y));
                _start = null;
                _end   = null;
            }
            e.Handled = true;
        }