Я предполагаю, что логическое продолжение ваших комментариев заключается в том, что нажатие кнопки 2 откроет страницу 2 и т. Д.
Моя рекомендация, и это относится ко всем разработкам WPF, - принять MVVM. Это даст вам больше гибкости и тестируемости.
Чтобы реализовать вашу проблему в MVVM:
Создание ViewModels для каждого из ваших представлений и по одному для вашего главного окна
Каждая ViewModel становится DataContext для своего соответствующего View.
В MainWindowViewModel реализуйте 5 свойств ICommand и свяжите свойство Command на кнопке с каждым соответствующим свойством ICommand в MainWindowViewModel.
В главном окне я не уверен, реализуете ли вы элемент управления Frame, но я бы предложил использовать ContentControl, связать свойство Content в элементе управления с некоторым свойством типа Object в MainWindowViewModel.
При выполнении каждого из объектов ICommand вы должны установить свойство содержимого в MainWindowViewModel равным ViewModel для этой кнопки.
В MainWindowView.xaml вам необходимо реализовать серию DataTemplates, которые отображают ViewModel в View:
<DataTemplate DataType="{x:Type Page1ViewModel}">
<AdornerDecorator>
<views:Page1View DataContext="{Binding}"/>
</AdornerDecorator>
</DataTemplate>
Я бы посоветовал вам взглянуть на использование одной из множества доступных платформ MVVM.
MVVMFoundation - легкий вес, минимальная реализация
MVVMLight - более тяжелый каркас
Caliburn - кажется, имеет много дополнительных функций
Внедрение полной структуры может показаться большим трудом, но в конечном итоге оно того стоит, более проверяемое, более удобное в обслуживании.