我正在尝试在wpf桌面应用程序中使用
Microsoft.Toolkit.Wpf.UI.Controls.WebView
控件。与webbrowser控件相比,它似乎使用的资源要少得多,并且更加现代化,因为它基于edge内核。然而,与webbrowser控件不同的是,除非选中,否则它无法滚动。也就是说,当鼠标悬停在webbrowser上时,我可以在不先选择的情况下向上或向下滚动,但是如果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>
运行时,当鼠标指针悬停在两个浏览器控件上时,它们都会滚动。点击按钮后(将焦点从任一浏览器中移除),只有WebBrowser控件在鼠标悬停时滚动。
是否有任何解决方法来解决这个问题?
使用:.NET Framework 4.7.2和Microsoft.Toolkit.Wpf.UI.Controls.WebView 5.1.1