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