J'ai un DocumentViewer avec un FixedDocument (construit en XAML) puis j'ajoute du contenu au fixedDocument dans le code et il affiche parfaitement sur l'écran.Comment supprimer FixedDocument de DocumentViewer?
Mon problème est lorsque je tente de créer un fichier XPS à partir du FixedDocument, im obtenir un « son déjà un enfant d'un autre élément » erreur.
Je ne peux pas trouver une méthode DocumentViewer.Children.Clear, Comment puis-je supprimer/détacher le FixedDocument je peux l'utiliser pour créer le fichier?
pour être complet, voici le code où im obtenir l'erreur:
public void CreateXPSFile()
{
// 1 - create xps_file
string OutputPath = baseDir + pathAdjust + "test.xps";
using (FileStream fs = File.Create(OutputPath))
{
ConvertToXps(fixedDocument, fs);
}
// open the document using the system default xps viewer
Process.Start(OutputPath);
}
public static void ConvertToXps(FixedDocument fd, Stream outputStream)
{
var package = Package.Open(outputStream, FileMode.Create);
var xpsDoc = new XpsDocument(package, CompressionOption.Normal);
XpsDocumentWriter xpsWriter = XpsDocument.CreateXpsDocumentWriter(xpsDoc);
// xps documents are built using fixed document sequences
var fixedDocSeq = new FixedDocumentSequence();
var docRef = new DocumentReference();
docRef.BeginInit();
docRef.SetDocument(fd);
docRef.EndInit();
((IAddChild)fixedDocSeq).AddChild(docRef); <<<<<----- Error occurs here
// write out our fixed document to xps
xpsWriter.Write(fixedDocSeq.DocumentPaginator);
xpsDoc.Close();
package.Close();
}
Merci