因此,我有一个自定义网页视图,显示网站上的网页,并希望添加左右滑动以便于更快地导航。我将控件作为按钮,但想要添加左右滑动。
所以我发现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);
}