将左侧滑动功能添加到webview

时间:2015-12-10 00:05:48

标签: c# visual-studio-2015 windows-10

因此,我有一个自定义网页视图,显示网站上的网页,并希望添加左右滑动以便于更快地导航。我将控件作为按钮,但想要添加左右滑动。

所以我发现this video on YouTube我已经实施得很好,只要我没有加载网址页面,它就能正常工作。

<Page
x:Class="test_storage.SecondPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:test_storage"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">

<Grid Background="WhiteSmoke">
     <WebView Name="webview" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</Grid>

public sealed partial class MainPage : Page
{
    Windows.Storage.ApplicationDataContainer localSettings;
    int x1;
    int x2;


    public SecondPage()
    {
        this.InitializeComponent();

        webview.ManipulationMode = ManipulationModes.TranslateRailsX | ManipulationModes.TranslateRailsY;
        webview.ManipulationStarted += (s, e) => x1 = (int)e.Position.X;

        webview.ManipulationCompleted += (s, e) =>
        {
            x2 = (int)e.Position.X;

            System.Diagnostics.Debug.WriteLine(x1);
            System.Diagnostics.Debug.WriteLine(x2);

            if (x1  > x2)
            {
                System.Diagnostics.Debug.WriteLine("right");
            };
            if (x1 < x2 )
            {
                System.Diagnostics.Debug.WriteLine("left");

            }

        };
    }
}

我从webview类了解到我无法添加Manipulation事件,因为webview类不支持它们。就像在YouTube教程中一样,我添加了一个opacity = 0的图像,并将操纵事件添加到该对象,但它仍然不起作用。

所以只需退后一步,是否有可能获得我在网络视图上左右滑动的功能。

如上所述,如果我不在webview上加载页面,它可以正常工作,但只要页面加载,它就会停止工作。

为什么加载网址会阻止操作事件的发生?我该如何解决它并使其正常工作?

感谢您的帮助。

编辑:

这是OnNavigatedTo menthod,曾经包含停止左右滑动功能。

 protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        Uri webUrl = new Uri("http://www.abc.net.au");
        webview.Navigate(webUrl);

    }

0 个答案:

没有答案