protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); Config config = new Config(); try { config.LoadWithoutEvent(); } catch { } if (config.FirstTimeStarted) { SplashView splash = new SplashView(); splash.IsVisibleChanged += splash_IsVisibleChanged; splash.Show(); } else { StartMain(config.IsTradingPostDataProvider); } }
private void ShowSplash() { var splashScreenWindow = new SplashView(); SplashScreen = splashScreenWindow; splashScreenWindow.Show(); _resetSplashCreated.Set(); Dispatcher.Run(); }
void ShowSplash() { // Create the window var repository = ServerRepository.Instance; var server = repository.Source; server.ConnectAsync().Wait(3000); CustomContainer.Register(server); CustomContainer.Register(repository); var textToDisplay = Warewolf.Studio.Resources.Languages.Core.StandardStyling.Replace("\r\n", "") + Warewolf.Studio.Resources.Languages.HelpText.WarewolfDefaultHelpDescription + Warewolf.Studio.Resources.Languages.Core.StandardBodyParagraphClosing; CustomContainer.Register <IEventAggregator>(new EventAggregator()); CustomContainer.Register <IPopupController>(new PopupController()); CustomContainer.Register <IAsyncWorker>(new AsyncWorker()); CustomContainer.Register <IExplorerTooltips>(new ExplorerTooltips()); CustomContainer.Register <IWarewolfWebClient>(new WarewolfWebClient(new WebClient { Credentials = CredentialCache.DefaultCredentials })); CustomContainer.Register <IActivityParser>(new ActivityParser()); CustomContainer.Register <IServiceDifferenceParser>(new ServiceDifferenceParser()); var toolBoxViewModel = new ToolboxViewModel(new ToolboxModel(server, server, null), new ToolboxModel(server, server, null)); CustomContainer.Register <IToolboxViewModel>(toolBoxViewModel); var helpViewModel = new HelpWindowViewModel(new HelpDescriptorViewModel(new HelpDescriptor("", textToDisplay, null)), new HelpModel(new EventAggregator())); CustomContainer.Register <IHelpWindowViewModel>(helpViewModel); CustomContainer.RegisterInstancePerRequestType <IRequestServiceNameView>(() => new RequestServiceNameView()); CustomContainer.RegisterInstancePerRequestType <IJsonObjectsView>(() => new JsonObjectsView()); CustomContainer.RegisterInstancePerRequestType <IChooseDLLView>(() => new ChooseDLLView()); CustomContainer.RegisterInstancePerRequestType <IFileChooserView>(() => new FileChooserView()); var splashViewModel = new SplashViewModel(server, new ExternalProcessExecutor()); var splashPage = new SplashPage { DataContext = splashViewModel }; SplashView = splashPage; // Show it SplashView.Show(false); _resetSplashCreated?.Set(); splashViewModel.ShowServerStudioVersion(); Dispatcher.Run(); }
public void Generate() { ThreadStart display = () => { Dispatcher.CurrentDispatcher.BeginInvoke((Action)(() => { SplashView view = this.container.Resolve <SplashView>(); this.eventAggregator.GetEvent <CloseSplashView>().Subscribe(x => view.Dispatcher.BeginInvoke((Action)view.Close), ThreadOption.PublisherThread, true); view.Show(); this.waitOnCreation.Set(); })); Dispatcher.Run(); }; Thread thread = new Thread(display) { Name = "Splash Screen Thread", IsBackground = true }; thread.SetApartmentState(ApartmentState.STA); thread.Start(); this.waitOnCreation.WaitOne(); }