在webbrowser控件中禁用缩放缩放 - win8

时间:2013-07-14 13:28:04

标签: c# wpf windows-8 webbrowser-control pinchzoom

我正在使用WPF + JavaScript + HTML5编写桌面Win8应用程序

我遇到与How to disable zoom in Windows 8 webviews相同的问题。

正如那里所建议的那样,我尝试禁用缩放缩放,如:http://www.scottlogic.com/blog/2011/11/17/suppressing-zoom-and-scroll-interactions-in-the-windows-phone-7-browser-control.html

我用以下

替换了_browser.Descendants<Border>()
RecurseChildren<Border>(_browser).

RecurseChildren功能是:

public static IEnumerable<T> RecurseChildren<T>(DependencyObject root) where T : UIElement
    {
        if (root is T)
        {
            yield return root as T;
        }

        if (root != null)
        {
            var count = VisualTreeHelper.GetChildrenCount(root);

            for (var idx = 0; idx < count; idx++)
            {
                foreach (var child in RecurseChildren<T>(VisualTreeHelper.GetChild(root, idx)))
                {
                    yield return child;
                }
            }
        }
    }

然而,var count = VisualTreeHelper.GetChildrenCount(_webBrowser);返回0 - 好像根本没有孩子。

您知道如何使其在Windows 8桌面应用程序上运行吗?

由于

1 个答案:

答案 0 :(得分:1)

最简单的方法是在html文档中禁用缩放缩放(webview中的那个) 通过css属性:

html { -ms-touch-action: pan-x pan-y; }