Ответ Дайера решит только часть проблемы.
У меня была такая же проблема, и через некоторое время я обнаружил, что команды навигации по региону тоже не работают.
Проблема была в том, что в Bootstrapper создавалась оболочка.Когда я это исправил, я получил 2 экземпляра Windows Shell.Почему?
Настоящей проблемой был Uri запуска в app.xaml.У вас не может быть обоих Uri запуска с созданием оболочки в Bootstrapper.
Удалите его из app.xaml, исправьте вашу оболочку, и вам не понадобится этот «патч», и ваше приложение будет вести себя как должно, онозакройте, когда вы закроете оболочку.
Опять же, это только симптом, другие проблемы возникнут, если вы не исправите создание оболочки.
protected override DependencyObject CreateShell()
{
return this.Container.Resolve<Shell>();
}
protected override void InitializeShell()
{
base.InitializeShell();
Application.Current.MainWindow = (Shell)this.Shell;
Application.Current.MainWindow.Show();
IRegionManager regionManager = this.Container.Resolve<IRegionManager>();
regionManager.RegisterViewWithRegion(RegionNames.MainRegion, typeof(MainView));
}