scroll - Windows Phone - 避免滚动放置在滚动查看器内的 Web 浏览器控件

标签 scroll windows-phone-8 webbrowser-control windows-phone scrollviewer

我必须在 Windows Phone 应用程序中的滚动查看器中显示一个网络浏览器,并满足以下要求:

  1. 网络浏览器高度根据其内容进行调整。
  2. 网络浏览器滚动应该禁用,(当用户在网络浏览器中滚动时,滚动查看器应该发生滚动)
  3. 网络浏览器可以进行捏合缩放并导航至其内容内的链接

    我该如何实现呢?非常感谢任何链接或示例。

最佳答案

我正在使用这样的代码。将事件附加到浏览器控件树中的 Border 元素(我正在使用 Linq to Visual Tree - http://www.scottlogic.co.uk/blog/colin/2010/03/linq-to-visual-tree/ )。

        Browser.Loaded += 
            (s,e)=>
                {
                    var border = Browser.Descendants<Border>().Last() as Border;

                    if (border != null)
                    {
                        border.ManipulationDelta += BorderManipulationDelta;
                        border.ManipulationCompleted += BorderManipulationCompleted;
                        border.DoubleTap += BorderDoubleTap;
                    }
                };

此外,我使用的实现是为了防止捏合和缩放,这是您想要的功能。尽管这应该可以帮助您朝正确的方向发展。

private void BorderDoubleTap(object sender, GestureEventArgs e)
{
    e.Handled = true;
}

private void BorderManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
    // suppress zoom
    if (Math.Abs(e.DeltaManipulation.Scale.X) > 0.0||
        Math.Abs(e.DeltaManipulation.Scale.Y) > 0.0)
        e.Handled = true;
}

private void BorderManipulationCompleted(object sender, ManipulationCompletedEventArgs e)
{
    // suppress zoom
    if (Math.Abs(e.FinalVelocities.ExpansionVelocity.X) > 0.0 ||
        Math.Abs(e.FinalVelocities.ExpansionVelocity.Y) > 0.0)
        e.Handled = true;
}

关于scroll - Windows Phone - 避免滚动放置在滚动查看器内的 Web 浏览器控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16787331/

相关文章:

jquery - 触摸滚动 Jquery 插件 - 如何为多个实例使用不同选项进行初始化?

html - 主背景图像已修复,主 div 内的 div 背景图像也已修复

javascript - jQuery touchSwipe内容滚动功能

windows-phone-8 - Windows(手机)模拟器 8.1/10 在加载操作系统时卡住了

.net - 如何读取网页浏览器控件的html内容?

.net - 外部 JavaScript 注入(inject)

javascript - 如何在 GWT 中滚动到 div id

c# - WPF8/C# - 将数据绑定(bind)到网格

c# - View 模型中的 MVVM 异步调用 : How can I connect azure DB with MVVM

wpf - WPF 中的打印 Web 浏览器控件