Como: Carregar um Arquivo XAML em um FlowDocumentPageViewer
Este exemplo demonstra como processar um arquivo XAML que contém um FlowDocument, e mostra o arquivo carregado em um FlowDocumentScrollViewer.
Exemplo
O seguinte exemplo define um FlowDocumentScrollViewer vazio que será manipulado pelo código exemplo abaixo.
<FlowDocumentScrollViewer
Name="flowDocScrollViewer"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto"
IsSelectionEnabled="True"
IsToolBarVisible="True"
MinZoom="50" MaxZoom="1000"
Zoom="120" ZoomIncrement="5"
/>
No nível mais básico, existem passos envolvendo o carregamento de um arquivo FlowDocument em um FlowDocumentScrollViewer.
Abra o arquivo FlowDocument como um stream.
Processe o stream dentro de um objeto FlowDocument. O método Load fornecido pela classe XamlReader é para realizar esta operação.
Defina o objeto FlowDocument resultante como o valor da propriedade Document do FlowDocumentScrollViewer.
O seguinte exemplo realiza esses passos.
void LoadFlowDocumentScrollViewerWithXAMLFile(string fileName)
{
// Open the file that contains the FlowDocument...
FileStream xamlFile = new FileStream(fileName, FileMode.Open, FileAccess.Read);
// and parse the file with the XamlReader.Load method.
FlowDocument content = XamlReader.Load(xamlFile) as FlowDocument;
// Finally, set the Document property to the FlowDocument object that was
// parsed from the input file.
flowDocScrollViewer.Document = content;
xamlFile.Close();
}
Se o FlowDocument referencia recursos externos (como arquivos de imagem) usando uniform resource identifiers (URIs) relativos, é necessário especificar um ParserContext que inclui um BaseUri para que o processador possa fazer sentido do URIs relativo. A classe XamlReader fornece método Load que aceita um ParserContext.
Consulte também
Tarefas
Como: Salvar o conteúdo de um FlowDocumentReader como um Arquivo XAML