【问题标题】:Disable scrolling in browser control for WP7?在 WP7 的浏览器控件中禁用滚动?
【发布时间】:2011-11-21 20:27:39
【问题描述】:

是否可以在 Windows Phone 7.1 中禁用 Web 浏览器控件中的滚动?我已经看到很多关于它的问题(Windows Phone 7.0、Silverlight),但还没有答案。有什么想法吗?

【问题讨论】:

  • 如果不需要和控件交互,可以设置IsHitTextVisible = false,如果需要,可以设置ScrollViewer.VerticalScrollBar = Disabled

标签: silverlight windows-phone-7 webbrowser-control


【解决方案1】:

有一个blog post here 解释如何抑制 WebBrowser 控件的缩放和滚动功能。引用该帖子:

视觉树非常简单,由几个网格和边框组成。 重要的部分是 TileHost,它是本机 IE9 组件和 PanZoomContainer。 TileHost 不处理 鼠标操作事件,而是由 PanZoomContainer,然后将它们转换为手势(即 pinch-zoom) 将结果反馈给 TileHost。

这意味着我们可以将操作事件拦截为 他们冒泡到 PanZoomContainer,在他们之前取消他们 都变成了手势。

【讨论】:

    【解决方案2】:

    给定网络浏览器:

    禁用交互集IsHitTextVisible= false

    <phone:WebBrowser Height="600" IsHitTestVisible="False" />
    

    要仅禁用滚动,请设置 ScrollViewer.VerticalScrollBarVisibility= disabled

    <phone:WebBrowser Height="600" ScrollViewer.VerticalScrollBarVisibility="Disabled" />
    

    【讨论】:

    • 浏览器中呈现的滚动控件无法通过Scrollviewer属性控制,需要通过注入JavaScript代码来动态设置内容到可用视口来控制
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 2012-03-19
    相关资源
    最近更新 更多