gpt4 book ai didi

c# - 如何让wpf webview像浏览器一样滚动?

转载 作者:行者123 更新时间:2023-12-02 02:52:08 25 4
gpt4 key购买 nike

我正在尝试在 wpf 桌面应用程序中使用 Microsoft.Toolkit.Wpf.UI.Controls.WebView 控件。它似乎比网络浏览器控件使用的资源少得多,并且基于边缘,并且更新得多。但是,与网络浏览器控件不同,除非选择,否则它不会滚动。即,当鼠标位于网络浏览器上时,我可以上下滚动而无需先选择,但如果不是当前选定的控件,则 WebView 会忽略鼠标滚轮。

使用 VS2019,以下代码演示了该问题。

<Window x:Class="test0.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:WPF="clr-namespace:Microsoft.Toolkit.Wpf.UI.Controls;assembly=Microsoft.Toolkit.Wpf.UI.Controls.WebView"
Title="MainWindow" Height="600" Width="1024">

<Grid>
<StackPanel>
<Button Content="hello world" Height="100" />
<WPF:WebView Source="https://bing.com" Height="250" />
<WebBrowser Source="https://bing.com" Height="250" />
</StackPanel>
</Grid>

</Window>

运行时,当鼠标光标悬停时,两个浏览器控件都会滚动。单击该按钮(从任一浏览器中删除焦点)后,只有 Web 浏览器控件在鼠标悬停时滚动。

有什么解决方法可以解决这个问题吗?

使用:.NET Framework 4.7.2 和 Microsoft.Toolkit.Wpf.UI.Controls.WebView 5.1.1

最佳答案

问题解决了!但与VS或框架版本等无关。在某些情况下,触摸板驱动程序似乎与webview控件不能很好地配合。更不用说我使用的是触摸板和真正的鼠标,这是我的疏忽,但我从来没有想过会有区别。直到我插上鼠标就没有问题了。

无论如何,解决方案是下载并安装精密触摸板驱动程序,如下所示:

https://www.windowscentral.com/how-enable-precision-touchpad-drivers

这解决了问题...直到 Windows 决定将驱动程序“更新”回旧版本。阻止 Windows 执行此操作的唯一方法是禁用“自动驱动程序下载”,如下所示:

https://www.laptopmag.com/articles/disable-automatic-driver-downloads-on-windows-10

我希望我提到过我正在使用触摸板,因为我怀疑对于那些不使用精密触摸板驱动程序的人来说,问题可能更容易重现。

关于c# - 如何让wpf webview像浏览器一样滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58741245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com