Как прослушивать вводимые пользователем данные в элементе управления webview2 в приложении C #?

У меня есть уникальное требование, когда в моем приложении мне нужно перехватывать ввод данных пользователем в элементе управления webview2 и предварительно обрабатывать вводимые пользователем данные перед публикацией.

Я начал с примера кода из следующего места:

https://docs.microsoft.com/en-us/microsoft-edge/webview2/gettingstarted/winforms

Я пробовал следующие обратные вызовы, но ни один из них не вызывается, когда пользователь вводит какую-либо информацию в поле ввода или нажимает кнопку

НавигацияНачальный источникИзмененный контентИстория загрузкиИзмененная навигацияЗавершена

Я получаю ручку только тогда, когда она требует перезагрузки.

Никаких мыслей ..


person gk bheli    schedule 13.03.2021    source источник
comment
Вы должны написать некоторый javascript (и внедрить его), чтобы поймать события, а затем использовать метод window.chrome.webview.postMessage для публикации значения в вашем коде C #. См. docs.microsoft.com/da-dk/microsoft-edge/webview2/gettingstarted/   -  person Poul Bak    schedule 13.03.2021
comment
Спасибо. Я был на этой странице. Есть ли какой-либо пример для внедрения кода.   -  person gk bheli    schedule 13.03.2021
comment
Вы можете использовать метод CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync(String) - отметьте это: docs.microsoft.com/da-dk/dotnet/api/   -  person Poul Bak    schedule 13.03.2021
comment
Возможно, вас вдохновит мой ответ здесь (он показывает, как улавливать щелчки мыши): stackoverflow.com/questions/65354344/   -  person Poul Bak    schedule 13.03.2021