Функциональность поиска в 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, запустите приложение и нажмите на нее. Откроется функция поиска в браузере. См. образец ниже

Скриншот

Другие вопросы по тегам