Catch XamlParseException : Exception « Windows Presentation Foundation « C# / C Sharp






Catch XamlParseException

Catch XamlParseException
  


<Window x:Class="WpfApplication1.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="FlowDocReader Load/Save Sample" Width="640" Height="480">
  <StackPanel>
    <FlowDocumentReader Name="FlowDocRdr" Grid.Row="1"/>
  </StackPanel>
</Window>
//File:Window.xaml.cs

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Windows.Forms;
using System.IO;
using System.Windows.Markup;

namespace WpfApplication1
{

    public partial class Window1 : Window
    {

        public Window1()
        {
            InitializeComponent();

            FlowDocument content = null;
            
            OpenFileDialog openFile = new OpenFileDialog();
            openFile.Filter = "FlowDocument Files (*.xaml)|*.xaml|All Files (*.*)|*.*";

            if (openFile.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                FileStream xamlFile = openFile.OpenFile() as FileStream;
                if (xamlFile == null) return;
                else
                {   
                    try 
                    { 
                        content = XamlReader.Load(xamlFile) as FlowDocument; 
                        if (content == null) 
                            throw(new XamlParseException("The specified file could not be loaded as a FlowDocument."));
                    }
                    catch (XamlParseException e)
                    {
                        String error = "There was a problem parsing the specified file:\n\n";
                        error += openFile.FileName;
                        error += "\n\nException details:\n\n";
                        error += e.Message;
                        System.Windows.MessageBox.Show(error);
                        return;
                    }
                    catch (Exception e) 
                    {
                        String error = "There was a problem loading the specified file:\n\n";
                        error += openFile.FileName;
                        error += "\n\nException details:\n\n";
                        error += e.Message;
                        System.Windows.MessageBox.Show(error);
                        return;
                    }

                    FlowDocRdr.Document = content;
                }
            }
        }
    }
}

   
    
  








Related examples in the same category

1.Cross Thread Exception Raising
2.Cross Thread Exception Raising WorkerThread
3.Check Exception type for DispatcherUnhandledException
4.Raise exception from button click eventRaise exception from button click event
5.Security ExceptionSecurity Exception
6.Throw Handled ExceptionThrow Handled Exception
7.Throw Unhandled ExceptionThrow Unhandled Exception
8.Throw Unhandled Exception From ThreadThrow Unhandled Exception From Thread
9.Customize UpdateSourceExceptionFilterCustomize UpdateSourceExceptionFilter
10.Manage unhandled exceptions that are thrown on secondary worker threads.Manage unhandled exceptions that are thrown on secondary worker threads.
11.Throw Exception from button click actionThrow Exception from button click action
12.Manage unhandled exceptions that are thrown on secondary user interface (UI) threads.