Mega Code Archive

 
Categories / C# / WPF
 

Convert Xaml file to FlowDocument with as operator

<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;                 }             }         }     } }