pob*_*oby 5 c# wpf webbrowser-control wpf-controls webview
我正在尝试Microsoft.Toolkit.Wpf.UI.Controls.WebView在wpf桌面应用程序中使用控件。它似乎比Web浏览器控件使用的资源少得多,并且基于边缘而更新得多。但是,与webbrowser控件不同,除非选中,否则它将不会滚动。即,当鼠标悬停在Web浏览器上时,无需先选择就可以上下滚动,但是如果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>
Run Code Online (Sandbox Code Playgroud)
在运行时,当鼠标指针悬停时,两个浏览器控件都将滚动。单击按钮(从两个浏览器中移出焦点)后,只有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
我希望我提到过我正在使用触摸板,因为我怀疑对于那些不使用精密触摸板驱动程序的人来说,这个问题可能更容易重现。
| 归档时间: |
|
| 查看次数: |
210 次 |
| 最近记录: |