public void Startup() { _appApplicationEnvironment = new ApplicationEnvironment(); _appApplicationEnvironment.SetupApplicationEnvironment(); _appApplicationEnvironment.EventHub.Subscribe <AppExitMessage>(OnAppShutdownHandler); Logger.Log.Info("Init data models"); _entryModel = new EntryViewModel(_appApplicationEnvironment); _appViewModel = new ApplicationViewModel(_appApplicationEnvironment); _timersViewModel = new TimersViewModel(_appApplicationEnvironment); _reportsViewModel = new ReportsViewModel(_appApplicationEnvironment); _settingsViewModel = new SettingsViewModel(_appApplicationEnvironment); _notificationViewModel = new NotificationViewModel(_appApplicationEnvironment); _profileSettingsViewModel = new ProfileSettingsViewModel(_appApplicationEnvironment); Logger.Log.Info("Init dialog service"); _dialogService = new DialogService(); _dialogService.RegisterDialog <ConfirmationDialogModel, ConfirmationDialog>(); Logger.Log.Info("Init views"); _mainView = new MainWindow(_dialogService, _appViewModel); _entryWindow = new EntryWindow(_entryModel); _activityDetailsWindow = new ActivityDetailsWindow(_mainView, _timersViewModel); _notificationWindow = new NotificationWindow(_mainView, _notificationViewModel); _profileSettingsWindow = new ProfileSettingsWindow(_mainView, _profileSettingsViewModel); _timersViewPage = new TimersViewPage(_timersViewModel); _mainView.AddPage(_timersViewPage); _reportsViewPage = new ReportsViewPage(_reportsViewModel); _mainView.AddPage(_reportsViewPage); _settingsViewPage = new SettingsViewPage(_settingsViewModel); _mainView.AddPage(_settingsViewPage); _mainView.Run(); }