The connection rectangle doesn't rotate with the node

In your Draggable link example (GoWpf Demo), the node and the rectagle resizes together. As you can see on the picture below, the rotation is applicable only on the node. Do you know how to rotate the rectangle that appears before connecting a link

You’ll need to override the LinkingToolBase.CopyPortProperties method on the LinkingTool and probably on the RelinkingTool:

Here’s the standard implementation of that method, which does not account for rotation of the port via the node’s rotation:

    protected virtual void CopyPortProperties(Node realnode, FrameworkElement realport, Node tempnode, FrameworkElement tempport, bool toend) {
      if (realnode == null || realport == null || tempnode == null || tempport == null) return;
      tempport.Width = realport.ActualWidth;
      tempport.Height = realport.ActualHeight;
      if (toend) {
        Node.SetToSpot(tempport, Node.GetToSpot(realport));
        Node.SetToEndSegmentLength(tempport, Node.GetToEndSegmentLength(realport));
      } else {
        Node.SetFromSpot(tempport, Node.GetFromSpot(realport));
        Node.SetFromEndSegmentLength(tempport, Node.GetFromEndSegmentLength(realport));
      }
      tempnode.LocationSpot = Spot.Center;
      tempnode.Location = realnode.GetElementPoint(realport, Spot.Center);
      tempnode.SetAngle(tempport, realnode.GetAngle(realport));
    }

I don’t know if there’s an easy way to calculate the effective angle of some element that might be deep within the visual tree. I think you’ll need to walk up the tree, adding the angles as you go. I had thought I had such code lying around, but I can’t find it now.