WPF レポート アプリケーションを開発しています。
私のレポートは WPF コントロール (FlowDocument または FixedDocument) として構築され、テーブルが含まれています。構造を保持したまま XPS として保存したい (これは、この記事で説明されているようなプレーン テキストではなく、テーブルをテーブルとしてコピーできることを意味します)。XpsDocumentWriter または XpsSerializationManager で WPF コントロールを保存する方法を見つけましたが、結果に構造やアウトラインがありません。
WPF コントロールをその構造を保持する Xps として保存することは可能ですか?
1001 次
2 に答える
1
XPS は固定ドキュメント形式であり、WPF を使用すると、FlowDocument を FixedDocument に XPS ファイルとして保存できます。さらに機能を追加する場合はコードが必要です。この記事に従って、さらに先に進むことができます。
于 2015-01-28T13:36:11.527 に答える
1
XpsDocumentWriter
orでシリアル化するときに WPF 要素のセマンティクスを保持する方法がないようXpsSerializationManager
です。この記事
で説明されているように
、構造を持つドキュメントを構築する唯一の方法は、System.Windows.Xps.Packaging
名前空間から低レベル API を使用することです。この API を使用して、コンテンツ
を構築するために取得できますXmlWriter
FixedPage
XpsDocument document = new XpsDocument(destFileName,FileAccess.ReadWrite);
IXpsFixedDocumentSequenceWriter docSeqWriter = document.AddFixedDocumentSequence();
IXpsFixedDocumentWriter docWriter = docSeqWriter.AddFixedDocument();
IXpsFixedPageWriter pageWriter = docWriter.AddFixedPage();
XmlWriter xmlWriter = pageWriter.XmlWriter;
Stream
文書構造を書くための
XpsResource storyFraments = pageWriter.AddStoryFragment();
Stream stream = storyFraments.GetStream();
System.Windows.Documents.DocumentStructures
名前空間には要素とその子を表すクラスがありStoryFragments
ますが、リソース ストリームへの書き込み中にそれらを使用することはできません。
于 2015-01-29T10:57:17.057 に答える