예제 #1
0
        public static void ShowError(ExceptionDispatchInfo ex, bool isCriticial)
        {
            if (Application.Current == null)
            {
                return;
            }

            if (ex.SourceException is ErrorException)
            {
                return;
            }

            Application.Current.Dispatcher.Invoke(() =>
            {
                try
                {
                    SplashWindow.HideWindow();

                    Dialog dlg = new Dialog();
                    ErrorDialog errorDialog = new ErrorDialog(ex, isCriticial);
                    errorDialog.window      = dlg;

                    if (SettingsService.Exists && SettingsService.Instance.Settings != null)
                    {
                        dlg.Topmost = SettingsService.Current.AlwaysOnTop;
                    }

                    dlg.ContentArea.Content = errorDialog;
                    dlg.ShowDialog();

                    if (Application.Current == null)
                    {
                        return;
                    }

                    if (isCriticial)
                    {
                        Application.Current.Shutdown(2);
                    }

                    SplashWindow.ShowWindow();
                }
                catch (Exception ex)
                {
                    Log.Write(new ErrorException(ex));
                }
            });
        }
예제 #2
0
        public static void ShowError(ExceptionDispatchInfo ex, bool isCriticial)
        {
            if (Application.Current == null)
            {
                return;
            }

            Application.Current.Dispatcher.Invoke(() =>
            {
                SplashWindow.HideWindow();

                Dialog dlg = new Dialog();
                ErrorDialog errorDialog = new ErrorDialog(ex, isCriticial);
                errorDialog.window      = dlg;

                if (App.Settings != null)
                {
                    dlg.Topmost = App.Settings.AlwaysOnTop;
                }

                dlg.ContentArea.Content = errorDialog;
                dlg.ShowDialog();

                if (Application.Current == null)
                {
                    return;
                }

                if (isCriticial)
                {
                    Application.Current.Shutdown(2);
                }

                SplashWindow.ShowWindow();
            });
        }
예제 #3
0
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     SplashWindow.HideWindow();
 }