XPS belgelerini açan ve görüntüleyen bir WPF uygulamasında çalışıyorum. Uygulama kapatıldığında, teknik özellik, uygulamanın temizlenecek XPS belgesini silmesi gerektiği anlamına gelir. Ancak, belirli bir XPS belgesini açarken, uygulama, dosyayı silmeyi denediğinde hala kullanımda olduğu bir istisna atar. Bu biraz garip çünkü sadece belirli bir XPS belgesini açarken ve sadece ilk sayfanın ötesine geçtiğinizde olur. WPF DocumentViewer XPS dosyasını açmıyor
I kullanılan kodların bazı
aşağıda gösterilmiştir: XPS belgesi navigasyon içinDocumentViewer m_documentViewer = new DocumentViewer();
XpsDocument m_xpsDocument = new XpsDocument(xpsfilename, fileaccess);
m_documentViewer.Document = m_xpsDocument.GetFixedDocumentSequence();
m_xpsDocument.Close();
: XPS Belge açılması için
DocumentViewer nesnesi kapatılması için
m_documentViewer.FirstPage();
m_documentViewer.LastPage();
m_documentViewer.PreviousPage();
m_documentViewer.NextPage();
ve dosyayı silme:
Her şey oldukça basit ve test ettiğimiz diğer belgelerle çalışıyor. Ancak, belirli XPS belgesinde, silinecek dosyanın hala kullanılmakta olduğunu belirten bir istisna ortaya çıkıyor.
Kodumda yanlış veya eksik bir şey mi var?
Teşekkürler!
bu bir çalıştı Hey! Sadece açık XpsDocument nesne bıraktı ve sadece adlandırılan XpsDocument.Close() çıkışında sırasında ve ben dosyayı silmek başardı. teşekkürler moogs! –
Bu, yalnızca uygulamanızı kilidi serbest bırakmak için kapatabilirseniz çalışır. Başvurunuz açık kalır iken serbest kilit gerekiyorsa altında veya http://stackoverflow.com/questions/1442607/how-do-i-get-wpfs-documentviewer-to-release-its benim cevap görmek gerekir -dosyadan-lock-on-the-kaynak-xps'yi-docu –