WebBrowser尝试下载本地PDF,而不是显示它

时间:2019-09-30 14:05:00

标签: c# wpf

我有一个WPF C#应用程序,并且在我的一个窗口中,我有一个WebBrowser显示本地PDF文件。但是,当我导航到该区域时,它将尝试下载而不是显示。是否有我缺少的设置,或者我做错了吗?

HelpView.xaml:

<ContentPresenter Content="{Binding pdfBrowser}"></ContentPresenter>

HelpViewModel.cs:

public WebBrowser pdfBrowser;
...
public HelpViewModel() : base("Help")
{
    pdfBrowser = new WebBrowser();
    pdfBrowser.Navigate("Path/To/PDF/File.pdf");
}

1 个答案:

答案 0 :(得分:0)

这里有几种可能性。

首先要考虑的是您应该有一个URL,而不只是文件路径。换句话说,它应该以file://

开始

以下是一些工作代码:

     private void Window_ContentRendered(object sender, EventArgs e)
     {
        string unencodedurl = "file:///C:/Program Files (x86)/Adobe/Acrobat Reader DC/Reader/Welcome.pdf";
        string encodedurl = WebUtility.HtmlEncode(unencodedurl);
        wb.Navigate(encodedurl);
     }

请注意,这是在渲染窗口后运行的,而不只是更新控件。我对该字符串进行html编码。

顺便说一句

视图模型中不应包含UI控件。