I assume that the logical continuation of your comments is that pressing button 2 will open page 2, etc.
My recommendation, and this applies to all WPF development, is to adopt MVVM. This will give you much greater flexibility and verifiability.
To implement your problem in MVVM:
Create ViewModels for each of your views and one for your main window
Each ViewModel becomes a DataContext for the corresponding view.
In MainWindowViewModel, implement 5 ICommand properties and assign the Command property on the button to each corresponding ICommand property in MainWindowViewModel.
In the main window, I'm not sure if you are using a Frame control, but I would suggest using the ContentControl to bind the Content property to the control to some property of type Object in MainWindowViewModel.
When executing each of the ICommand objects, you must set the MainWindowViewModel content property to the appropriate ViewModel for this button.
In MainWindowView.xaml, you will need to implement a series of DataTemplates that display the ViewModel in the View:
<DataTemplate DataType="{x:Type Page1ViewModel}"> <AdornerDecorator> <views:Page1View DataContext="{Binding}"/> </AdornerDecorator> </DataTemplate>
I would advise you to take a look at using one of the many available MVVM frameworks.
MVVMFoundation - light weight, minimal implementation
MVVMLight - heavier structure
Caliburn - There seems to be a lot of extra features
The implementation of the full structure may seem like a lot of additional work, but it will cost in the end, more subject to verification, more convenient to maintain.