Xaml — Как динамически изменять содержимое окна (пример: главное окно -> настройки)?
Способов много.
Вот несколько:
1. Используйте MVVM пример
2. Создание UserControl  с содержимым и загрузка их в контейнер типа ContentPresenter
3. Pages 
4. Шаблоны  содержимого 
5. TabPages тоже можно заюзать на крайний случай.  В WPF  вкладки можно скрывать.
тут достаточно хорошо описано, но применительно к призме (сходу трудновато будет понять):navogation in prism
кратко говоря можно делать 2 способами:  переключать контролы (view-based) или менять состояние модели представления (state-based), то есть скрывая те или иные элементы флагами.