static ConnectionPoint GetConnectionPoint(UIElement element, Point location)
        {
            List <ConnectionPoint> connectionPoints = StateContainerEditor.GetConnectionPoints(element);

            foreach (ConnectionPoint connectionPoint in connectionPoints)
            {
                if (DesignerGeometryHelper.ManhattanDistanceBetweenPoints(location, connectionPoint.Location) <= ConnectorRouter.EndPointTolerance)
                {
                    return(connectionPoint);
                }
            }
            return(null);
        }
        static internal ConnectionPoint GetClosestConnectionPoint(ConnectionPoint srcConnPoint, List <ConnectionPoint> destConnPoints, out double minDist)
        {
            minDist = double.PositiveInfinity;
            double          dist         = 0;
            ConnectionPoint closestPoint = null;

            foreach (ConnectionPoint destConnPoint in destConnPoints)
            {
                if (srcConnPoint != destConnPoint)
                {
                    dist = DesignerGeometryHelper.DistanceBetweenPoints(srcConnPoint.Location, destConnPoint.Location);
                    if (dist < minDist)
                    {
                        minDist      = dist;
                        closestPoint = destConnPoint;
                    }
                }
            }

            return(closestPoint);
        }
        static internal ConnectionPoint GetClosestConnectionPoint(ConnectionPoint srcConnPoint, List <ConnectionPoint> destConnPoints, out double minDist)
        {
            minDist = double.PositiveInfinity;
            double          dist         = 0;
            ConnectionPoint closestPoint = null;
            Point           srcPoint     = FreeFormPanel.GetLocationRelativeToOutmostPanel(srcConnPoint);

            foreach (ConnectionPoint destConnPoint in destConnPoints)
            {
                if (srcConnPoint != destConnPoint)
                {
                    dist = DesignerGeometryHelper.ManhattanDistanceBetweenPoints(srcPoint, FreeFormPanel.GetLocationRelativeToOutmostPanel(destConnPoint));
                    if (dist < minDist)
                    {
                        minDist      = dist;
                        closestPoint = destConnPoint;
                    }
                }
            }

            return(closestPoint);
        }