提前致谢!
在我的应用程序中,我嵌入了一个WebView2控件在WPF用户控件中。
有没有任何方式或解决方法可以帮助我在WebView2控件中搜索文本?我看到通过Ctrl + F打开搜索文本框。我的要求是通过自定义按钮单击调用此功能。
我发现微软提供的当前的WebView2预发行版SDK没有任何特定的查找或搜索功能。
提前致谢!
在我的应用程序中,我嵌入了一个WebView2控件在WPF用户控件中。
有没有任何方式或解决方法可以帮助我在WebView2控件中搜索文本?我看到通过Ctrl + F打开搜索文本框。我的要求是通过自定义按钮单击调用此功能。
我发现微软提供的当前的WebView2预发行版SDK没有任何特定的查找或搜索功能。
WebView2目前不支持您调用或以其他方式控制页面查找对话框,我不知道除在HTML文档中实现自己的页面查找样式外是否有任何解决方法。
如果您愿意,您可以在我们的WebView2反馈页面上打开一个功能请求问题。请告诉我们您想使用页面查找对话框做什么以及原因。谢谢!
我通过使用Winform类的SendKeys方法来实现这一点。 为了在WPF应用程序中能够使用Winform类,您首先必须在项目设置PropertyGroup中添加UseWindowsForms标记,以启用WindowsForms。
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
接下来,在代码后台创建您的点击方法。首先,将焦点传递到WebView2元素,以便在执行按键模拟时,浏览器是活动元素。
this.browser.Focus();
System.Windows.Forms.SendKeys.SendWait("{F3}");
因此,最终的结果是这样的:
private void openSearch(object sender, RoutedEventArgs e)
{
this.browser.Focus();
System.Windows.Forms.SendKeys.SendWait("{F3}");
}
就是这样。 在wpp中创建您的按钮,将上述方法添加到其点击属性中,运行应用程序并按下该按钮。浏览器搜索功能将打开。 请参见下面的示例