protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); try { IKernel kernel = new StandardKernel(); var modules = new List <INinjectModule> { new GameModule(), new NavigationModule() }; kernel.Load(modules); MainWindow mainWindow = kernel.Get <MainWindow>(); INavigationService navigation = kernel.Get <INavigationService>(); navigation.InjectPage("StartPage", kernel.Get <StartPageViewModel>()); navigation.InjectPage("SinglePlayerPage", kernel.Get <SinglePlayerPageViewModel>()); navigation.InjectPage("EasyGamePage", kernel.Get <GamePageViewModel>("EasyGamePage")); navigation.InjectPage("MediumGamePage", kernel.Get <GamePageViewModel>("MediumGamePage")); navigation.InjectPage("TwoPlayerGamePage", kernel.Get <GamePageViewModel>("TwoPlayerGamePage")); navigation.InjectPage("OnlineGamePage", kernel.Get <GamePageViewModel>("OnlineGamePage")); navigation.Navigate("StartPage"); mainWindow.Show(); } catch (Exception ex) { Console.WriteLine(ex); MessageBox.Show(e.ToString()); } }