Starting out with GoGrid

I’ve set my 500 by 500 GoView’s Grid cell height and width to 25 and drag around around a GoIconicNode made out of a 50 by 50 bitmap, reading the node’s Position.X and Position.Y.
Grid origin is set to 0,0; GridOriginRelative is true; all properties are set in the designer.
in the view it appears snapping perfectly. Position.Y is always a multiple of 25, however, Position.X starts out from 16.94369 in the upper-left corner of the grid - the smallest X the node snaps to. Node dragged to the right, X grows to 41.94369 and so on. the cells do appear square,
What am I doing wrong? I’d like to see X change in multiples of 25 and be able to snap to 0,0,

Grid snapping and object dragging work on GoObject.Location, not GoObject.Position. The Position is always the point of the top-left corner of the Bounds. The Location depends on the class. In your case, GoIconicNode defines Location to be the GoIconicNode.Icon.Center.
I’m guessing that in your test case the Label is wider than the Icon. If so, the Position.X will be less than the Icon.Position.X.
So you need to decide whether you want the Icon to always be grid-aligned, or if you want the whole node to be grid-aligned.
If you like the current visual appearance and behavior, I suggest you ignore the node.Position and instead use/save/restore the node.Location.

have not thought about the label, it was wider
will be using Location,