Exemple #1
0
        /// <summary>
        /// sets the inital angle if datacontext is a ContentControl and if the Canvas was found.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void RotateThumb_DragStarted(object sender, VectorEventArgs e)
        {
            _designerItem = DataContext as ContentControl;

            if (_designerItem != null)
            {
                _canvas = TreeExtensions.TryFindParent <Canvas>(_designerItem);
                if (_canvas != null)
                {
                    _centerPoint = (Point)_designerItem.TranslatePoint(
                        new Point(_designerItem.Width * _designerItem.RenderTransformOrigin.Point.X,
                                  _designerItem.Height * _designerItem.RenderTransformOrigin.Point.Y),
                        _canvas);

                    Point startPoint = VisualExtensions.
                                       PointToClient(_canvas, new PixelPoint((int)e.Vector.X, (int)e.Vector.Y));

                    _startVector = startPoint - _centerPoint;

                    _rotateTransform = _designerItem.RenderTransform as RotateTransform;
                    if (_rotateTransform == null)
                    {
                        _designerItem.RenderTransform = new RotateTransform(0);
                        _initialAngle = 0;
                    }
                    else
                    {
                        _initialAngle = _rotateTransform.Angle;
                    }
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// sets the Angle tot he rotate transform if not null
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ResizeThumb_DragStarted(object sender, VectorEventArgs e)
        {
            _designerItem = DataContext as ContentControl;

            if (_designerItem != null)
            {
                _canvas = TreeExtensions.TryFindParent <Canvas>(_designerItem);
                if (_canvas != null)
                {
                    _transformOrigin = _designerItem.RenderTransformOrigin;

                    _rotateTransform = _designerItem.RenderTransform as RotateTransform;
                    if (_rotateTransform != null)
                    {
                        _angle = _rotateTransform.Angle * Math.PI / 180.0;
                    }
                    else
                    {
                        _angle = 0.0d;
                    }
                }
            }
        }