Я работаю над приложением WPF, которое открывает и отображает документы XPS. Когда приложение закрывается, спецификация приложения должна удалить открытый документ 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 появляется исключение, говорящее о том, что удаляемый файл все еще используется.
Что-то не так или отсутствует в моем коде?
Спасибо!