【问题标题】:WPF WebBrowser- disable user interaction with content displayed in browserWPF WebBrowser - 禁止用户与浏览器中显示的内容进行交互
【发布时间】:2016-09-21 23:28:12
【问题描述】:

我正在使用System.Windows.Controls.WebBrowser Web 浏览器使用户能够从我的 WPF 应用程序中查看 PDF 文件。

我现在想阻止用户选择与浏览器中显示的内容进行交互(即他们不应该能够打印/保存/突出显示文本/复制浏览器中显示的任何内容)。

我该怎么做?

我已将WebBrowser 添加到应用程序中:

System.Windows.Controls.WebBrowser browser = new System.Windows.Controls.WebBrowser();

并在代码中指定他们正在查看的文件的路径,但还为他们提供了选择其他文件的选项,方法是使用 File -> Open 并浏览到他们想要查看的文件的位置打开。

我在the MSDN WebBrowser docs 中找不到任何说明如何禁用“保存”或“打印”按钮、“右键单击”功能或文本突出显示的内容...有人有什么建议吗?

【问题讨论】:

  • 只是猜测,但这不是说browse.IsEnabled=false那么简单吗?
  • 我不想禁用浏览器——因为我想在其中显示内容,只是不想让用户以任何方式与该内容进行交互,因为那里显示的信息可能是保密的......

标签: c# wpf user-interaction


【解决方案1】:

问题不在于WebBrowser。您正在其中打开一个 PDF 文件,因此它是插件或内置查看器。控制WebBrowser 属性和事件之外的内容。

您应该考虑使用实际的 PDF 查看器控件,例如 suggested in this topic

【讨论】:

  • 感谢您的链接。我将浏览列出的观众,并试一试。您是否碰巧知道这些是否支持使您能够查看具有自己扩展名的文件的功能?例如,如果我要构建一个扩展名为 .xyz 的文件,我可以使用其中一个查看器来查看该文件吗?我想我需要在查看器上做一些工作才能启用自定义扩展,但理论上可行吗?
  • 我决定使用 MoonPdf (github.com/reliak/moonpdf),但我不确定如何在我的应用程序中“包含”它...有什么建议吗?
  • 如果自定义扩展名只是一个重命名的 PDF 文件,那么您可以显示它。否则,您需要换成合适的查看器。要使用 MoonPdf,您需要从 Sourceforge 获取其中一种发行版:sourceforge.net/projects/moonpdf/files/MoonPdf-0.3.0。请记住,看起来该项目已经 3 年没有被触及(不幸的是,很多 OSS 都倾向于这样做),它可能不适用于某些文件,并且可能会停止使用较新的 PDF 文件.
  • @someone2088 如果您要走这条路线(我看到了您的其他帖子),您能否将此答案标记为已接受? :-)
  • 感谢您的建议-我正在尝试走这条路(目前只是尝试在我的应用程序中查看简单的 PDF),但我似乎无法让我的应用程序与 MoonPDF 一起使用-当我尝试在 XAML 中将其MoonPdfPanels 之一添加到我的应用程序时,我收到一个编译错误,告诉我找不到“类型”,并验证我没有丢失程序集引用,并且所有已构建引用的程序集`...我尝试构建 MoonPdf 源代码,但出现编译错误:
猜你喜欢
  • 1970-01-01
  • 2010-12-27
  • 1970-01-01
  • 2022-01-09
  • 1970-01-01
  • 2019-09-29
  • 1970-01-01
  • 2012-05-11
  • 1970-01-01
相关资源
最近更新 更多