Beispiel #1
0
        private FrameworkElement GetSnapGeometry(SnapPointKind kind)
        {
            string name;

            switch (kind)
            {
            case SnapPointKind.None:
                name = null;
                break;

            case SnapPointKind.Center:
                name = "CenterPointIcon";
                break;

            case SnapPointKind.EndPoint:
                name = "EndPointIcon";
                break;

            case SnapPointKind.MidPoint:
                name = "MidPointIcon";
                break;

            case SnapPointKind.Quadrant:
                name = "QuadrantPointIcon";
                break;

            case SnapPointKind.Focus:
                name = "FocusPointIcon";
                break;

            default:
                throw new ArgumentException("snapPoint.Kind");
            }

            if (name == null)
            {
                return(null);
            }

            var geometry = (Canvas)SnapPointResources[name];

            geometry.Visibility = Visibility.Collapsed;
            SetAutoBinding(geometry, RenderTransformProperty, nameof(BindObject.SnapPointTransform));
            geometry.DataContext = BindObject;
            return(geometry);
        }
Beispiel #2
0
 public TransformedSnapPoint(Point worldPoint, Point controlPoint, SnapPointKind kind)
 {
     WorldPoint   = worldPoint;
     ControlPoint = controlPoint;
     Kind         = kind;
 }