Partilhar via


Como: Carregar um Arquivo XAML em um FlowDocumentReader

Este exemplo demonstra como processar um arquivo XAML que contém um FlowDocument, e mostra o arquivo carregado em um FlowDocumentReader.

Exemplo

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

<FlowDocumentReader
  Name="flowDocRdr" 
  IsFindEnabled="True"  
  IsPrintEnabled="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 FlowDocumentReader.

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

O seguinte exemplo realiza esses passos.

void LoadFlowDocumentReaderWithXAMLFile(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.
    flowDocRdr.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.

Para um exemplo funcional que permite ao usuário carregar um arquivo XAML em um FlowDocumentReader, consulte Exemplo XAML FlowDocumentReader Carregar/salvar.

Consulte também

Tarefas

Como: Salvar o Conteúdo de um FlowDocumentReader como um Arquivo XAML