Функциональность поиска в WebView2
Заранее спасибо!
В своем приложении я встроил элемент управления WebView2 в пользовательский элемент управления WPF.
Есть ли способ или обходной путь, который может помочь мне найти текст в элементе управления WebView2? Я вижу, что текстовое поле поиска открывается через Ctrl + F . Мое требование - вызвать эту функцию с помощью пользовательского нажатия кнопки.
Я обнаружил, что в текущем предварительном выпуске SDK WebView2, предоставленном Microsoft, нет ничего специфичного для поиска или функции поиска.
2 ответа
В настоящее время WebView2 не поддерживает вызов или иное управление поиском в диалоговом окне страницы, и я не знаю никакого обходного пути, кроме реализации собственного поиска в элементе управления стилем страницы в вашем HTML-документе.
Если хотите, вы можете открыть вопрос с запросом функции на нашей странице отзывов о WebView2. Сообщите нам, что именно вы хотите делать с диалоговым окном поиска на странице и почему. Спасибо!
Я добился этого, используя класс Winform SendKeys и его метод SendWait. Чтобы иметь возможность использовать класс Winform в приложении WPF, сначала необходимо включить WindowsForms в PropertyGroup настройки проекта, добавив тег UseWindowsForms.
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
затем создайте свой метод щелчка в коде позади. Там первым шагом является передача фокуса элементу WebView2, чтобы браузер был активным элементом при выполнении имитации ключа.
this.browser.Focus();
Затем вызовите метод SendKeys.SendWait с "{F3}" в качестве аргумента.
System.Windows.Forms.SendKeys.SendWait("{F3}");
Итак, окончательный вид такой:
private void openSearch(object sender, RoutedEventArgs e)
{
this.browser.Focus();
System.Windows.Forms.SendKeys.SendWait("{F3}");
}
вот и все. Создайте свою кнопку в wpp, добавьте указанный выше метод в ее свойство click, запустите приложение и нажмите на нее. Откроется функция поиска в браузере. См. образец ниже