I'm currently implementing each view using UserControl, and then adding/removing those UserControls in the grid of MainWindow on user events. I'm not sure if using the UserControl is the right direction because UserControl brings up the image of small widgets like buttons rather than a whole window content to me.
There is nothing wrong with a UserControl
providing the bulk (or all) of the content for a Window
. In fact, this is fairly common when using frameworks, as the Window is created for you in some frameworks.
I would not worry about using a UserControl
for this.