Beispiel #1
0
        public static void ReportUnexpectedException(Exception e)
        {
            Window w = new Window()
            {
                Title = "Unexpected exception occured",
                Width = 500,
                Height = 400,
                Background = new SolidColorBrush(Color.FromRgb(0xF0, 0xF0, 0xF0))
            };
            Grid g = new Grid();
            g.RowDefinitions.Add(new RowDefinition());
            g.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });

            FlowDocumentScrollViewer f = new FlowDocumentScrollViewer()
            {
                HorizontalScrollBarVisibility = ScrollBarVisibility.Auto,
                VerticalScrollBarVisibility = ScrollBarVisibility.Auto,
                BorderBrush = Brushes.Black,
                BorderThickness = new Thickness(0, 0, 0, 1),
            };
            f.SetValue(Grid.RowProperty, 0);
            f.Document = buildExceptionMessage(new FlowDocument()
            {
                Background = Brushes.White,
                TextAlignment = TextAlignment.Left,
                FontFamily = new FontFamily("Sans Serif")
            }, e, 4);
            g.Children.Add(f);

            Button b = new Button()
            {
                Padding = new Thickness(10, 2, 10, 2),
                Margin = new Thickness(10),
                Content = "Ok",
                HorizontalAlignment = HorizontalAlignment.Center,
                IsDefault = true,
            };
            b.SetValue(Grid.RowProperty, 1);
            b.Click += delegate { w.Close(); };
            g.Children.Add(b);

            w.Content = g;
            w.ShowDialog();
        }