Load a FlowDocument into a FlowDocumentReader,
<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