Partager via


Comment : charger un fichier XAML dans un FlowDocumentPageViewer

Mise à jour : novembre 2007

Cet exemple montre comment analyser un fichier XAML qui contient un FlowDocument, et affiche le fichier chargé dans un FlowDocumentPageViewer.

Exemple

L'exemple suivant définit un FlowDocumentPageViewer vide nommé qui sera manipulé par l'exemple de code ci-dessous.

<FlowDocumentPageViewer
  Name="flowDocPageViewer" 
  MinZoom="50" MaxZoom="1000"
  Zoom="120" ZoomIncrement="5"
  />

À la base, plusieurs étapes sont nécessaires pour charger un fichier FlowDocument dans un FlowDocumentPageViewer.

  1. Ouvrez le fichier FlowDocument en tant que flux.

  2. Analysez le flux dans un objet FlowDocument. La méthode Load fournie par la classe XamlReader est prévue pour exécuter cette opération.

  3. Affectez l'objet FlowDocument résultant comme valeur à la propriété Document de FlowDocumentPageViewer.

L'exemple suivant exécute ces étapes.

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

Si le FlowDocument fait référence à des ressources externes (telles que des fichiers image) en utilisant des URI (Uniform Resource Identifiers) relatifs, il est nécessaire de spécifier un ParserContext qui inclut un BaseUri de sorte que l'analyseur puisse interpréter les URI relatifs. La classe XamlReader fournit la méthode Load qui accepte un ParserContext.

Voir aussi

Tâches

Comment : enregistrer le contenu d'un FlowDocumentPageViewer en tant que fichier XAML