Partilhar via


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 FlowDocumentPageViewer.

Exemplo

O seguinte exemplo define um FlowDocumentPageViewer vazio que será manipulado pelo código exemplo abaixo.

<FlowDocumentPageViewer
  Name="flowDocPageViewer" 
  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 FlowDocumentPageViewer.

  1. Abra o arquivo FlowDocument como um stream.

  2. Processe o stream dentro de um objeto FlowDocument. O método Load fornecido pela classe XamlReader é para realizar esta operação.

  3. Defina o objeto FlowDocument resultante como o valor da propriedade Document do FlowDocumentPageViewer.

O seguinte exemplo realiza esses passos.

void LoadFlowDocumentPageViewerWithXAMLFile(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.
    flowDocPageViewer.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: Save the Contents of a FlowDocumentPageViewer as a XAML File