如何以编程方式滚动 UWP WebView?

Leo*_*ese 1 c# windows webview win-universal-app

我正在使用 webview 制作一个简单的 UWP(通用 Windows 10 应用程序)网络应用程序。如何单击按钮返回页面顶部?我在 MSDN 上找不到它。

Jay*_*den 5

您可以使用window.scrollTo(0,0)方法,它是一种 JavaScript 方法,可滚动文档以将文档水平定位为“0”,垂直定位为“0”。

您可以通过使用InvokeScriptAsync方法调用或注入脚本到内容中来与WebView的内容进行交互。WebView

例如:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <WebView x:Name="theWebView" Source="https://msdn.microsoft.com/en-us/library/windows.ui.xaml.controls.webview.aspx">
    </WebView>
    <Button Content="To The Top" Click="Button_Click"></Button>
</Grid>
Run Code Online (Sandbox Code Playgroud)

后面的代码:

private string ScrollToTopString = @"window.scrollTo(0,0);";

private async void Button_Click(object sender, RoutedEventArgs e)
{
    await theWebView.InvokeScriptAsync("eval", new string[] { ScrollToTopString });
}
Run Code Online (Sandbox Code Playgroud)