我里面有一个ScrollViewer和WebViews。
<ScrollViewer x:Name="ScrollViewer"
HorizontalScrollMode="Disabled"
VerticalScrollMode="Auto"
VerticalScrollBarVisibility="Hidden">
<StackPanel Orientation="Vertical">
<WebView/>
<WebView/>
<WebView/>
...
<WebView/>
</StackPanel>
</ScrollViewer>
所有WebView的高度都等于其内容(我为webView实现了类似WrapContent的内容)。
现在,问题是,webviews是弹跳(橡皮筋效果),而滚动和滚动查看器不滚动!有时它的卷轴有时不是。
所以我的问题是如何禁用WebView的滚动/弹跳(橡皮筋效果)?
答案 0 :(得分:0)
不确定这两个解决方案中的任何一个可能对您有用,但它可能会让您了解RE可以做什么。我假设问题是WebView内部的滚动 - 这会妨碍ScrollViever。您可以通过注入JavaScript来禁用滚动 - XAML代码更进一步:(为了清晰起见,添加了背景颜色)
private async void TestWebView_OnNavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args)
{
var script = "document.documentElement.style.overflow = 'hidden';document.body.style.background = 'red';";
await TestWebView.InvokeScriptAsync("eval", new string[] {script});
}
或者通过添加叠加层(左侧&#39;列&#39;):
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<ScrollViewer x:Name="ScrollViewer"
HorizontalScrollMode="Disabled"
VerticalScrollMode="Auto"
VerticalScrollBarVisibility="Hidden">
<Grid>
<StackPanel Orientation="Vertical">
<WebView NavigationCompleted="TestWebView_OnNavigationCompleted" x:Name="TestWebView" Height="800" Source="http://stackoverflow.com/"/>
<WebView Height="500" Source="http://stackoverflow.com/"/>
</StackPanel>
<Grid Width="200" Background="Black" Opacity="0.5" HorizontalAlignment="Left"/>
</Grid>
</ScrollViewer>
图像:
答案 1 :(得分:0)
设置webview的高度超过其内容高度并使内容样式溢出隐藏将停止橡皮筋效果