Exemple #1
0
 internal static FrameworkElement AdornerControlFactory(Model.Adorner adorner)
 {
     View.Adorner adornerControl = new View.Adorner();
     adornerControl.Width  = adorner.Area.Width;
     adornerControl.Height = adorner.Area.Height;
     SetCanvasLocation(adornerControl, adorner.Start.X, adorner.Start.Y, 1000);
     return(adornerControl);
 }
Exemple #2
0
        private void RotateShape(Model.Shape shape, FrameworkElement shapeControl)
        {
            if (!(shape is Model.Adorner))
            {
                RotateTransform shapeControlRotateTransform = new RotateTransform();
                shapeControlRotateTransform.Angle = shape.Rotation;
                TransformGroup shapeControlTransformGroup = new TransformGroup();
                shapeControlTransformGroup.Children.Add(shapeControlRotateTransform);
                if (shape is Model.Line)
                {
                    shapeControlRotateTransform.CenterX = shape.RotationCenter.X;
                    shapeControlRotateTransform.CenterY = shape.RotationCenter.Y;
                }
                else
                {
                    shapeControlRotateTransform.CenterX = shape.RotationCenter.X - shape.Start.X;
                    shapeControlRotateTransform.CenterY = shape.RotationCenter.Y - shape.Start.Y;
                }
                shapeControl.RenderTransform = shapeControlTransformGroup;
            }

            FrameworkElement adornerControl = null;

            Model.Adorner adorner     = null;
            var           adornerList = (from s in _shapes where s.Key is Model.Adorner select s).ToList();

            if (adornerList.Count() > 0)
            {
                adornerControl = adornerList[0].Value;
                adorner        = (Model.Adorner)adornerList[0].Key;
            }
            if (adornerControl != null)
            {
                RotateTransform adornerRotateTransform = new RotateTransform();
                adornerRotateTransform.Angle = shape.Rotation;
                TransformGroup adornerTransformGroup = new TransformGroup();
                adornerTransformGroup.Children.Add(adornerRotateTransform);
                adornerControl.RenderTransform = adornerTransformGroup;
                adornerRotateTransform.CenterX = adorner.RotationCenter.X - adorner.Start.X - DrawHelper.adornerThickness;
                adornerRotateTransform.CenterY = adorner.RotationCenter.Y - adorner.Start.Y - DrawHelper.turnHandleDistance;
            }
        }