XPS 문서를 열고 표시하는 WPF 응용 프로그램에서 작업하고 있습니다. 응용 프로그램이 닫히면 응용 프로그램에서 정리 된 XPS 문서를 삭제해야합니다. 그러나 특정 XPS 문서를 열 때 응용 프로그램은 파일을 삭제하려고 할 때 파일이 계속 사용되고 있다는 예외를 throw합니다. 약간의 이상한 점은 특정 XPS 문서를 열 때와 첫 페이지를 넘었을 때만 발생하기 때문입니다. WPF DocumentViewer가 XPS 파일을 해제하지 않습니다.
I가 사용되는 코드의 일부를
은 아래와 같다 : XPS 문서 탐색에DocumentViewer m_documentViewer = new DocumentViewer();
XpsDocument m_xpsDocument = new XpsDocument(xpsfilename, fileaccess);
m_documentViewer.Document = m_xpsDocument.GetFixedDocumentSequence();
m_xpsDocument.Close();
: 다음 XPS 문서를 여는
DocumentViewer 객체를 폐쇄
m_documentViewer.FirstPage();
m_documentViewer.LastPage();
m_documentViewer.PreviousPage();
m_documentViewer.NextPage();
및 파일을 삭제하는 중 :
m_documentViewer.Document = null;
m_documentViewer = null;
File.Delete(xpsfilename);
모두 매우 기본이며 테스트 한 다른 문서와도 작동합니다. 그러나 특정 XPS 문서의 경우 삭제할 파일이 아직 사용 중이라는 예외가 표시됩니다.
내 코드에 이상이 있습니까?
감사합니다.
안녕하세요? 방금 XpsDocument 개체를 열어두고 끝내는 동안 XpsDocument.Close() 만 호출하여 파일을 삭제할 수있었습니다. 감사합니다. –
응용 프로그램을 닫아 잠금을 해제 할 수있는 경우에만 작동합니다. 애플리케이션이 열려있는 동안 잠금이 해제되어야하는 경우 아래 또는 내 대답을 볼 필요가 있습니다. http://stackoverflow.com/questions/1442607/how-do-i-get-wpfs-documentviewer-to-release-its -file-lock-on-the-source-xps-docu –