Comment : charger un fichier XAML dans un FlowDocumentReader
Mise à jour : novembre 2007
Cet exemple montre comment analyser un fichier XAML qui contient un FlowDocument, et affiche le fichier chargé dans un FlowDocumentReader.
Exemple
L'exemple suivant définit un FlowDocumentReader vide nommé qui sera manipulé par l'exemple de code ci-dessous.
<FlowDocumentReader
Name="flowDocRdr"
IsFindEnabled="True"
IsPrintEnabled="True"
MinZoom="50" MaxZoom="1000"
Zoom="120" ZoomIncrement="5"
/>
À la base, plusieurs étapes sont nécessaires pour charger un fichier FlowDocument dans un FlowDocumentReader.
Ouvrez le fichier FlowDocument en tant que flux.
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.
Affectez l'objet FlowDocument résultant comme valeur à la propriété Document de FlowDocumentReader.
L'exemple suivant exécute ces étapes.
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();
}
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.
Pour obtenir un exemple fonctionnel qui permette à l'utilisateur de charger un fichier XAML dans un FlowDocumentReader, consultez Charger dans un FlowDocumentReader et enregistrer dans un fichier XAML, exemple.
Voir aussi
Tâches
Comment : enregistrer le contenu d'un FlowDocumentReader en tant que fichier XAML