Move port on GoBasicNode

I am trying to move the port on a rectangular GoBasicNode to the top-right cornor. I found something in the FAQ on doing the same with a GoTextNode. It said to override the LayoutChildren method and set the port.location to the new position (this.Position.X+this.width, this.position.Y).

But the port doesn't move. It stays in the center. Any ideas?

Since the standard behavior of GoBasicNode.LayoutChildren sizes and positions the Port, it depends on whether your override calls the base method before or after positioning the port the way you want.

You don't even have to call the base method, but then you'll also need to set the Bounds/Size/Position of the Shape or of the Label.