public void HandleStartupActions(IRegionManager regionManager, StartupRoutine startupRoutine) { foreach (var action in startupRoutine.GetAllActions()) { switch (action) { case StartupNavigationAction navigationAction: regionManager.RequestNavigate(navigationAction.Region, navigationAction.Target); break; case StartupSelectTabAction tabAction: var region = regionManager.Regions[tabAction.TabRegion]; var view = region.Views.Where(v => v is TabItem).Cast <TabItem>().FirstOrDefault(t => t.Name == tabAction.TabName); if (view != null) { region.Activate(view); } else { regionManager.RequestNavigate(tabAction.TabRegion, tabAction.TabName); } break; } } }
private void RunStartup() { var startupActions = _startupRoutine.GetAllActions().Where(action => action is IDataStartupAction); foreach (var startupAction in startupActions) { startupAction.Execute(); } wasStarted = true; }