public override void OnFrameworkInitializationCompleted() { this.CreateDependencies(); var factory = new ToolDockFactory(_messagePropagator, _dependencies); var mainWindowViewModel = new MainWindowViewModel(factory, CreateLayout(factory), _messagePropagator); if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) { var mainWindow = new MainWindow { DataContext = mainWindowViewModel }; mainWindow.Closing += (sender, args) => { mainWindowViewModel.Layout.Close.Execute(mainWindowViewModel.Layout); }; desktop.MainWindow = mainWindow; desktop.Exit += (sender, args) => { mainWindowViewModel.Layout.Close.Execute(mainWindowViewModel.Layout); }; } base.OnFrameworkInitializationCompleted(); }
public MainWindowViewModel(ToolDockFactory factory, IDock layout, IMessagePropagator messagePropagator) { _messagePropagator = messagePropagator; _layout = layout; _factory = factory; _menuItems = MenuBarFactory.GetAllMenuBarItems(); _menuItems.Add(factory.GetMenuBarItems()); Task.Run(() => { GameEngine engine = new GameEngine(_messagePropagator); engine.Run(); }); }