XPS ドキュメントを開いて表示する WPF アプリケーションに取り組んでいます。アプリケーションを閉じると、開いている XPS ドキュメントを削除してクリーンアップする必要があるという仕様になっています。ただし、特定の XPS ドキュメントを開くと、ファイルを削除しようとすると、アプリケーションはファイルがまだ使用中であるという例外をスローします。これは、特定の XPS ドキュメントを開いて最初のページを超えたときにのみ発生するため、少し奇妙です。
私が使用したコードの一部を以下に示します。
XPS ドキュメントを開くには:
DocumentViewer m_documentViewer = new DocumentViewer();
XpsDocument m_xpsDocument = new XpsDocument(xpsfilename, fileaccess);
m_documentViewer.Document = m_xpsDocument.GetFixedDocumentSequence();
m_xpsDocument.Close();
XPS ドキュメントをナビゲートするには:
m_documentViewer.FirstPage();
m_documentViewer.LastPage();
m_documentViewer.PreviousPage();
m_documentViewer.NextPage();
DocumentViewer オブジェクトを閉じてファイルを削除するには:
m_documentViewer.Document = null;
m_documentViewer = null;
File.Delete(xpsfilename);
それはすべて非常に基本的なものであり、テストした他のドキュメントで動作します. ただし、特定の XPS ドキュメントでは、削除するファイルがまだ使用されているという例外が表示されます。
私のコードに何か問題や不足がありますか?
ありがとう!