I\'m writing a WPF app that has a Canvas in it. This canvas will be custom rendered at runtime. It\'s sort of like a game in that it needs to be measured in pix
resizing is cake:
MyCanvas.Width = 350;
MyCanvas.Height = 450;
this sets the size, you CAN render to coordinates outside of this, but it will be clipped. You can wrap your canvas inside a scroller to allow the user to see what is outside the height/width of the canvas.
as for the rest of your questions, i think you can see this SO question for your answers