2015-09-10 49 views
0

我正在編寫文檔視圖,我想使用某些文件格式(pdf,電子郵件)的WebBrowser控件的功能。WPF WebBrowser控件:禁用下載或如何找出所有可顯示的文件類型

現在我遇到了這樣的問題:對於WebBrowser控件未知的每種文件格式,它都提供下載文件的功能。

所以問題是:如何找出瀏覽器可以顯示哪些文件格式(文件擴展名),以便我可以向用戶顯示一條消息,表明當前的文件格式不支持顯示而不是獲取「你想下載」對話框。

回答

0

如果我是你,我不會使用WebBrowser控件的原因如下:

  • web瀏覽器僅僅是圍繞IE引擎的包裝。它默認使用舊版本的IE,所以它可能會有麻煩顯示正確的基本CSS樣式的HTML文檔。它可能被迫使用更新版本的IE甚至其他引擎,但需要一些努力。

  • WebBrowser控件的目的是顯示和瀏覽網頁。導航基本上是下載。如果不是不可能阻止WebBrowser下載文件,我相信這會很難。我相信你可以這樣做的一種方法是通過修改這樣的html文件:Remove hyperlink but keep text?你也可能想要禁止打開上下文菜單。

  • WebBrowser控件是能夠顯示PDF這裏描述Displaying a PDF in a WPF Application Not Working - WebBrowser or Adobe Control,但我不知道你將如何避免下放置在PDF

而不是使用web瀏覽器的鏈接,我建議你使用許多royalty-之一免費的PDF查看控件並將您的html文檔轉換爲PDF。我相信建議的方法會花費更少的時間,並且更加強大

+0

我不認爲有這麼多免費的PDF查看器。如果你跳過所有的GPL,AGPL的東西不是那麼多。順便說一句,使用PDF瀏覽器控件可以在Acrobat Reader中正常工作。我們的想法是將它用於其他文件格式,例如eml,txt,...在將文件傳遞到WebBrowser控件之前過濾這些擴展並不是問題。但是,我怎麼知道WebBrowser控件可以查看哪些文件格式。在WinForms中,我使用了Adobe Reader控件。它給了我更多關於查看文檔的控制權,但Brwoser插件是足夠的。 – bebo

相關問題