private void AdornerOnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            _canvas.CaptureMouse();
            var point = e.GetPosition(_canvas);
            var touch = GetTouchPoint(point);

            if (touch == TouchPoint.OutsideRectangle)
            {
                _currentToolState = _createState;
            }
            else if (touch == TouchPoint.InsideRectangle)
            {
                _currentToolState = _dragState;
            }
            _currentToolState.OnMouseDown(point);
        }
        private void AdornerOnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            canvas.CaptureMouse();
            var point = e.GetPosition(canvas);
            var touch = GetTouchPoint(point);

            if (touch == TouchPoint.OutsideRectangle)
            {
                if (cropTool.Width >= 1 && cropTool.Height >= 1)
                {
                    // Don't deselect when clicking outside rect
                    return;
                }
                currentToolState = createState;
            }
            else if (touch == TouchPoint.InsideRectangle)
            {
                currentToolState = dragState;
            }
            currentToolState.OnMouseDown(point);
        }