2008-11-18 6 views
1

Nous avons 2 documents de flux que nous aimerions comparer comme lorsque vous utilisez une visionneuse diff (winmerge, au-delà de comparer, etc). Est-ce que quelqu'un a fait cela ou sait comment extraire le texte d'un flowdocument pour faire une comparaison?Existe-t-il des visionneuses FlowDocument diff pour WPF?

Répondre

1

Voici un moyen de l'enregistrer en tant que xaml brut (fichier texte) à partir du fichier code-behind, en supposant que le fluxdocument (pas viewer) lui-même est nommé "myFlowDoc", si seul le spectateur est nommé. Document du spectateur pour l'obtenir. Et un flux vers un flux myStream (FileStream, MemoryStream, etc n'a pas d'importance).

// Create a TextRange around the entire document. 
TextRange documentTextRange = new TextRange(myFlowDoc.ContentStart, myFlowDoc.ContentEnd); 

// Save it. Note that it will not respect current stream position; 
// it'll assume that it gets the entire stream. 
documentTextRange.Save(myStream, DataFormats.Xaml);