Klaus,
Normally, to define a rectangle, we usually define its upper left point and lower right point; for example System.Windows.Rect does this way. You might notice that we have another overload of RectangleShape that is RectangleShape(PointShape upperLeftPoint, PointShape lowerRightPoint); so we defined the order following it that is RectangleShape(double minX, double maxY, double maxX, double minY). In another word, if we use the order you are using, we need to change the other constructor to RectangleShape(PointShape lowerLeftPoint, PointShape upperRightPoint). Hope it makes sense.
Thanks,
Howard