Я ищу способ вызвать пользовательское событие в javascript из кода C #, написанного в компоненте среды выполнения Windows с атрибутом AllowForWeb
.
Я знаю, что работает наоборот (запуск события из JavaScript в C #), как это
public delegate void NotifyAppHandler( string str );
[AllowForWeb]
public sealed class WebViewInjectionObject
{
public event NotifyAppHandler OnNotifyApp;
public void NotifyApp( string str )
{
OnNotifyApp?.Invoke( str );
}
}
Затем вы можете подписаться на событие в C # и вызвать его из JavaScript, как это
nativeObject.notifyApp(JSON.stringify(callInfo));
Где nativeObject
было введено в WebView
с AddWebAllowedObject
Теперь я ищу решение сделать обратное.
Я хочу создать событие в javascript и запустить его из C #, используя снова внедренный объект из компонента времени выполнения Windows.
Вы можете предположить, что у меня есть контроль над кодом javascript, который будет запускаться в WebView
и при необходимости вносить в него изменения.
Примечание. Необходимость сделать это довольно неортодоксально объясняется тем, что я не могу / не хочу использовать InvokeScriptAsync
из-за этой проблемы