Use ContentPresenter with PropertyChanged notifier.

With the PropertyChanged notifier and ContentPresenter
the DataTemplate can be changed dynamically whenever
the selected ViewModel is changed.

The PropertyChanged notifier tells the WPF GUI
Controls that something changed. The ContentPresenter
will reapply the DataTemplateSelector to the content.