我正在尝试禁用Windows Phone 8上的WebBrowser控件的滚动和缩放,而不使用任何HTML标记。 我发现了一些关于此的文章,但它们都是针对Windows Phone 7的,我不能让代码在WP8上运行。 我已经尝试过以下文章中描述的内容,但它不适用于WP8:
我也尝试过设置ScrollViewer.VerticalScrollBarVisibility="Disabled"
和ScrollViewer.HorizontalScrollBarVisibility="Disabled"
,但我仍然可以滚动和缩放。
我不知道该怎么做,我开始认为在WP8上不可能。 有谁知道如何解决这个问题?
提前致谢!
答案 0 :(得分:3)
你试过这个CSS属性吗?
-ms-touch-action: none;
答案 1 :(得分:0)
您可以使用WebBrowserHelper类来实现此
创建WebBrowserHelper类的实例
public Header()
{
InitializeComponent();
new WebBrowserHelper(wbHeaderBrowser, strHeaderUri);
new WebBrowserHelper(wbFooterBrowser, strFooterUri);
}
WebBrowserHelper.cs
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using LinqToVisualTree;
using Microsoft.Phone.Controls;
/// <summary>
/// Suppresses pinch zoom and optionally scrolling of the WebBrowser control
/// </summary>
public class WebBrowserHelper
{
private WebBrowser _browser;
/// <summary>
/// Gets or sets whether to suppress the scrolling of
/// the WebBrowser control;
/// </summary>
public bool ScrollDisabled { get; set; }
public WebBrowserHelper(WebBrowser browser)
{
_browser = browser;
browser.Loaded += new RoutedEventHandler(browser_Loaded);
}
private void browser_Loaded(object sender, RoutedEventArgs e)
{
var border = _browser.Descendants<Border>().Last() as Border;
border.ManipulationDelta += Border_ManipulationDelta;
border.ManipulationCompleted += Border_ManipulationCompleted;
}
private void Border_ManipulationCompleted(object sender,
ManipulationCompletedEventArgs e)
{
// suppress zoom
if (e.FinalVelocities.ExpansionVelocity.X != 0.0 ||e.FinalVelocities.ExpansionVelocity.Y != 0.0 ||(ScrollDisabled && e.IsInertial))
}
private void Border_ManipulationDelta(object sender,
ManipulationDeltaEventArgs e)
{
// suppress zoom
if (e.DeltaManipulation.Scale.X != 0.0 ||
e.DeltaManipulation.Scale.Y != 0.0)
e.Handled = true;
// optionally suppress scrolling
if (ScrollDisabled)
{
if (e.DeltaManipulation.Translation.X != 0.0 ||
e.DeltaManipulation.Translation.Y != 0.0)
e.Handled = true;
}
}
}
答案 2 :(得分:0)
您可以将IsHitTestVisible属性设置为False。