我试图在wpf桌面应用程序中使用Microsoft.Toolkit.Wpf.UI.Controls.WebView控件。它所使用的资源似乎要比浏览器控件少得多,而且更多的是最新的,基于edge的。但是,与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控件在mouseover上滚动。
有什么办法可以解决这个问题吗?
使用:.NET框架4.7.2和Microsoft.Toolkit.Wpf.UI.Controls.WebView 5.1.1
发布于 2019-11-11 10:57:13
我已经创建了一个示例页面,并根据您的要求给出了答案中的代码,如果有任何疑问,请检查现有代码并返回给我。
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:WPF="clr-namespace:Microsoft.Toolkit.Wpf.UI.Controls;assembly=Microsoft.Toolkit.Wpf.UI.Controls.WebView"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="720" Width="1280">
<Grid>
<StackPanel>
<Button Content="hello world" Height="100" />
<!--<WPF:WebView Source="https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8" Height="250" />-->
<WPF:WebView Source="https://bing.com" Height="250" />
<WebBrowser Source="https://bing.com" Height="250"/>
</StackPanel>
</Grid>
Bing是一个单一的视图站点,因此搜索面板无法滚动,即使您可以直接在web浏览器上签入。
编辑:
请您根据需要检查windows版本和SDK。
https://learn.microsoft.com/en-us/uwp/api/windows.web.ui.interop.webviewcontrol
Windows版本:1809年
SDK版本: 17763
附加价值:
AddInitializeScript
GotFocus
LostFocus
https://stackoverflow.com/questions/58741245
复制相似问题