I am creating a WPF app using the MVVM framework. I have a Main Window which has a grid. Inside that grid I want to display either UserControl1 or UserControl2. The default condition is when the UserControl1 is loaded in the beginning, but after a user clicks on the button Add the current UserControl1 becomes hidden/unloaded (what is the proper term?) and instead of it the UserControl2 becomes open/loaded (?) into the the grid of the Main Window. The same works with the UserControl2. When a user clicks on button Show, the UserControl2 becomes hidden/unloaded and the UserControl1 becomes open/loaded. How would I achieve this in the most simplest way? I was thinking about using TabControl, but unfortunately UserControl1 and UserControl2 are already created as UserControl classes and cannot be redone. For the better picture I created crude wireframes of what I have.
WPF Main Window

UserControl1

UserControl2

