Compartir a través de


Cómo: Cargar un archivo XAML en un elemento FlowDocumentScrollViewer

Actualización: noviembre 2007

En este ejemplo se muestra cómo analizar un archivo XAML que contiene un objeto FlowDocument y mostrar el archivo cargado en un objeto FlowDocumentScrollViewer.

Ejemplo

En el ejemplo siguiente se define un control FlowDocumentScrollViewer vacío con nombre que se manipulará en el ejemplo de código siguiente.

<FlowDocumentScrollViewer
  Name="flowDocScrollViewer" 
  HorizontalScrollBarVisibility="Auto" 
  VerticalScrollBarVisibility="Auto" 
  IsSelectionEnabled="True" 
  IsToolBarVisible="True" 
  MinZoom="50" MaxZoom="1000"
  Zoom="120" ZoomIncrement="5"
/>

En el nivel más básico, la carga de un archivo de FlowDocument en un objeto FlowDocumentScrollViewer consta de varios pasos.

  1. Abra el archivo de FlowDocument como secuencia.

  2. Analice la secuencia en un objeto FlowDocument. El método Load proporcionado por la clase XamlReader está diseñado para realizar esta operación.

  3. Establezca el objeto FlowDocument resultante como valor de la propiedad Document de FlowDocumentScrollViewer.

En el siguiente ejemplo se realizan estos pasos.

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

Si FlowDocument hace referencia a recursos externos (como archivos de imagen) mediante identificadores de recursos uniformes (URIs) relativos, es necesario especificar un ParserContext que incluya una propiedad BaseUri para que el analizador pueda interpretar los URIs relativos. La clase XamlReader proporciona el método Load que acepta ParserContext.

Vea también

Tareas

Cómo: Guardar el contenido de un elemento FlowDocumentScrollViewer como archivo XAML