public App() { SetUpCrashReporting(ConfigurationManager.AppSettings["SentryDsn"]); Startup += async(sender, args) => { var baseDir = AppDomain.CurrentDomain.BaseDirectory; var dataDir = Path.Combine(baseDir, "Data"); kernel = Configure(dataDir); var window = new MainWindow(); var splashVm = new SplashScreenVM(); var splash = new SplashScreen { DataContext = splashVm }; IProgress <string> progress = new Progress <string>(s => splashVm.ProgressReport = s); splash.Show(); Encoding.RegisterProvider(new Utf8EncodingProviderHack()); kernel.Bind <ITextInsertCommand>(() => new TextInsertCommand(window.InsertTextAtCursor)); kernel.Bind(Dispatcher); await Task.Run(() => { Preload(progress); }); var vm = kernel.Get <MainWindowVM>(); window.DataContext = vm; window.Show(); splash.Close(); }; Exit += (sender, args) => { kernel.Dispose(); }; }
public App() { var splash = new SplashScreen(); splash.Show(); Encoding.RegisterProvider(new Utf8EncodingProviderHack()); Configure(); Startup += (sender, args) => { var vm = Kernel.Get <MainWindowVM>(); var window = new MainWindow() { DataContext = vm }; window.Show(); splash.Close(); }; Exit += (sender, args) => { Kernel.Dispose(); }; }