protected override async void OnNavigatedTo(NavigationEventArgs eventArgs) { if (eventArgs.NavigationMode != NavigationMode.Back) { App.AppSettings = new SettingsViewModel(); App.InteractionViewModel = new InteractionViewModel(); App.SidebarPinnedController = new SidebarPinnedController(); Helpers.ThemeHelper.Initialize(); if (eventArgs.Parameter == null || (eventArgs.Parameter is string eventStr && string.IsNullOrEmpty(eventStr))) { try { if (App.AppSettings.ResumeAfterRestart) { App.AppSettings.ResumeAfterRestart = false; foreach (string tabArgsString in App.AppSettings.LastSessionPages) { var tabArgs = TabItemArguments.Deserialize(tabArgsString); await AddNewTabByParam(tabArgs.InitialPageType, tabArgs.NavigationArg); } if (!App.AppSettings.ContinueLastSessionOnStartUp) { App.AppSettings.LastSessionPages = null; } } else if (App.AppSettings.OpenASpecificPageOnStartup) { if (App.AppSettings.PagesOnStartupList != null) { foreach (string path in App.AppSettings.PagesOnStartupList) { await AddNewTabByPathAsync(typeof(PaneHolderPage), path); } } else { await AddNewTabAsync(); } } else if (App.AppSettings.ContinueLastSessionOnStartUp) { if (App.AppSettings.LastSessionPages != null) { foreach (string tabArgsString in App.AppSettings.LastSessionPages) { var tabArgs = TabItemArguments.Deserialize(tabArgsString); await AddNewTabByParam(tabArgs.InitialPageType, tabArgs.NavigationArg); } var defaultArg = new TabItemArguments() { InitialPageType = typeof(PaneHolderPage), NavigationArg = "NewTab".GetLocalized() }; App.AppSettings.LastSessionPages = new string[] { defaultArg.Serialize() }; } else { await AddNewTabAsync(); } } else { await AddNewTabAsync(); } } catch (Exception) { await AddNewTabAsync(); } } else { if (eventArgs.Parameter is string navArgs) { await AddNewTabByPathAsync(typeof(PaneHolderPage), navArgs); } else if (eventArgs.Parameter is TabItemArguments tabArgs) { await AddNewTabByParam(tabArgs.InitialPageType, tabArgs.NavigationArg); } } // Check for required updates AppUpdater updater = new AppUpdater(); updater.CheckForUpdatesAsync(); // Initial setting of SelectedTabItem Frame rootFrame = Window.Current.Content as Frame; var mainView = rootFrame.Content as MainPage; mainView.SelectedTabItem = AppInstances[App.InteractionViewModel.TabStripSelectedIndex]; }
protected override async void OnNavigatedTo(NavigationEventArgs eventArgs) { var navArgs = eventArgs.Parameter?.ToString(); if (eventArgs.NavigationMode != NavigationMode.Back) { App.AppSettings = new SettingsViewModel(); App.InteractionViewModel = new InteractionViewModel(); App.SidebarPinnedController = new SidebarPinnedController(); Helpers.ThemeHelper.Initialize(); if (string.IsNullOrEmpty(navArgs)) { try { if (App.AppSettings.ResumeAfterRestart) { App.AppSettings.ResumeAfterRestart = false; foreach (string path in App.AppSettings.LastSessionPages) { await AddNewTabByPathAsync(typeof(ModernShellPage), path); } if (!App.AppSettings.ContinueLastSessionOnStartUp) { App.AppSettings.LastSessionPages = null; } } else if (App.AppSettings.OpenASpecificPageOnStartup) { if (App.AppSettings.PagesOnStartupList != null) { foreach (string path in App.AppSettings.PagesOnStartupList) { await AddNewTabByPathAsync(typeof(ModernShellPage), path); } } else { AddNewTabAsync(); } } else if (App.AppSettings.ContinueLastSessionOnStartUp) { if (App.AppSettings.LastSessionPages != null) { foreach (string path in App.AppSettings.LastSessionPages) { await AddNewTabByPathAsync(typeof(ModernShellPage), path); } App.AppSettings.LastSessionPages = new string[] { "NewTab".GetLocalized() }; } else { AddNewTabAsync(); } } else { AddNewTabAsync(); } } catch (Exception) { AddNewTabAsync(); } } else if (string.IsNullOrEmpty(navArgs)) { AddNewTabAsync(); } else { await AddNewTabByPathAsync(typeof(ModernShellPage), navArgs); } // Check for required updates AppUpdater updater = new AppUpdater(); updater.CheckForUpdatesAsync(); // Initial setting of SelectedTabItem Frame rootFrame = Window.Current.Content as Frame; var mainView = rootFrame.Content as MainPage; mainView.SelectedTabItem = AppInstances[App.InteractionViewModel.TabStripSelectedIndex]; } }