/// <summary> /// Handling unhandled exceptions /// </summary> private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) { // If showing an error message, make sure to close the splash screen immediately, using SplashScreenAdapter.CloseSplashScreen(), // before you show a message box. SplashScreenAdapter.CloseSplashScreen(); var ex = e.Exception; string message = "An unhandled error just occurred: \n\n" + ex.Message + "\n" + ex.InnerException?.Message; MessageBox.Show( message, "Error", MessageBoxButton.OK, MessageBoxImage.Error ); e.Handled = true; }
private void MainWindow_MouseDown(object sender, MouseButtonEventArgs e) { SplashScreenAdapter.CloseSplashScreen(TimeSpan.FromSeconds(5)); }
public MainWindow() { InitializeComponent(); //handle mouse clicks this.PreviewMouseDown += new MouseButtonEventHandler(MainWindow_PreviewMouseDown); Closing += (s, e) => ViewModelLocator.Cleanup(); // register MapMessage to change AxMap properties Messenger.Default.Register <MapMessage>( this, message => { switch (message.MessageType) { case MapMessageType.Default: throw new NotImplementedException(); break; case MapMessageType.Message: throw new NotImplementedException(); break; case MapMessageType.KnownExtent: Karte.Tools.AxMap.KnownExtents = message.KnownExtent; //Set map extent break; case MapMessageType.TileProvider: //Karte.Tools.AxMap.TileProvider = message.TileProvider; Karte.Tools.AxMap.Tiles.ProviderId = message.TileProviderId; //Set tile provider Karte.Tools.Redraw(false); break; case MapMessageType.CursorMode: //Set cursor mode Karte.Tools.AxMap.CursorMode = message.CursorMode; break; default: break; } } ); // register MessageBoxMessage for showing modal / non-modal message boxes Messenger.Default.Register <MessageBoxMessage>( this, message => { // If showing an error message, make sure to close the splash screen immediately, using SplashScreenAdapter.CloseSplashScreen(), // before you show a message box. SplashScreenAdapter.CloseSplashScreen(); if (message.IsModal) { //message.Title sets the message box image if (message.Title.ToLower().Contains("ERROR".ToLower())) { MessageBox.Show(message.Message, message.Title, MessageBoxButton.OK, MessageBoxImage.Error); } else if (message.Title.ToLower().Contains("warning".ToLower())) { MessageBox.Show(message.Message, message.Title, MessageBoxButton.OK, MessageBoxImage.Warning); } else if (message.Title.ToLower().Contains("INFO".ToLower())) { MessageBox.Show(message.Message, message.Title, MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show(message.Message, message.Title); } } else { Task.Run(() => { MessageBox.Show(message.Message, message.Title); }); } } ); // register DialogMessage for showing dialog boxes in MainWindow Messenger.Default.Register <DialogMessage>( this, WindowType.MainWindow, message => { if (message == null) { return; } var result = MessageBox.Show( this, message.Content, message.Caption, message.Button, message.Icon, //Default: Question Icon message.DefaultResult, message.Options); if (message.Callback != null) { message.Callback(result); // execute callback: send result to MainViewModel } }); }