【问题标题】:How do I disable user input on a WebView?如何禁用 WebView 上的用户输入?
【发布时间】:2013-06-18 20:29:30
【问题描述】:

我在尝试将 Microsoft 的 WebView 集成到我的 WinRT 应用程序中时遇到了很多问题,其中之一如下。我想显示WebView 及其内容(来自本地离线服务器,但它就像一个魅力),我不希望用户能够四处点击;基本上完全禁用此WebView 上的用户输入。

这个控件上没有IsEnabled属性所以我试了一下:

  • 在每个处理程序中捕获许多类似 Pressed 的事件并将 event 对象的 Handled 属性设置为 false
  • 捕获WebViewGotFocus 事件以立即将焦点设置在另一个控件上
  • 将WebView放入ContentControl,然后将ContentControlIsEnabled属性设置为false

显然,这些解决方法都没有奏效,所以我在这里面临一堵砖墙。也许你们中的一些人可以帮助找到解决方案?

如果有帮助,请提供更多详细信息:加载的网页包含一个 HTML5 画布,用户可以在其中绘制内容(例如在 Microsoft Paint 中)。还有链接(ahref)。我不希望用户能够在此画布上绘图,也不希望他们也能够点击这些链接!

谢谢

【问题讨论】:

    标签: c# xaml webview windows-runtime


    【解决方案1】:

    嗨,如果内容没有动画,您可以使用 a ,那么您可以使用 Rectangle 代替 WebView,在矩形中您使用 WebViewBrush,这实际上采用 webview 并将其内容呈现为矩形上的图像。因为它是一个图像,所以矩形上没有可用的交互,但是如果你有动画,那么你会失去它们。 通常,此技巧用于在 webview 上显示内容。

    【讨论】:

    • 不幸的是内容动画所以我不能这样做(虽然我想过......)
    • 不幸的是 webview 不是对开发人员非常友好的控件 :( 我也不得不与他们进行很多斗争。如果您可以访问页面的源代码,那么最好的选择是通过 javascript 禁用事件跨度>
    猜你喜欢
    • 1970-01-01
    • 2017-12-04
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    • 1970-01-01
    • 2013-05-20
    相关资源
    最近更新 更多