as you resize the window the attached canvas resizes also and the graphics are automatically scaled.
I wouldn't have thought so.
On the Size event, you need to reset the viewport to the new dimensions. But this won't scale anything for you. You would need to calculate the 1:1 scale of the original dimensions to whatever was current, and then maybe call SetScale. (although SetScale isn't a true scaling function).