You basically need one main or parent model. This view model must have a type property BaseViewModelin it, for example, with a name ViewModel. All your other pageview models should expand this base class.
<ContentControl Content="{Binding ViewModel}" />
, BaseViewModel, ViewModel... :
ViewModel = new HomeView();
? DataTemplate ... , :
<DataTemplate DataType="{x:Type ViewModels:HomeViewModel}">
<Views:HomeView />
</DataTemplate>
WPF , ViewModel. , , Button? ICommand , Button , RelayCommand. , :
<Grid>
<ContentControl Content="{Binding HomePage}"/>
</Grid>
, a Button, ViewModel, DataTemplate , . ICommand, RelayCommand, , :
public ICommand DisplayHomeView
{
get { return new ActionCommand(action => ViewModel = new HomeViewModel(),
canExecute => !IsViewModelOfType<HomeViewModel>()); }
}