我有一个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");
}
答案 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控件。