C# 尝试将参数传递给新的EventHandler
我正在使用新的C# 尝试将参数传递给新的EventHandler,c#,wpf,.net-core,webview2,C#,Wpf,.net Core,Webview2,我正在使用新的webview 2将文本插入Edge中的文本框。我有以下活动: webView.NavigationCompleted += new EventHandler<CoreWebView2NavigationCompletedEventArgs>(InputText); 这适用于我正在使用的测试站点。但是,我想将脚本作为字符串变量传递到InputText方法中。尝试将其添加到代理中时,表示代理没有过载,例如: webView.NavigationCompleted +=
webview 2
将文本插入Edge中的文本框。我有以下活动:
webView.NavigationCompleted += new EventHandler<CoreWebView2NavigationCompletedEventArgs>(InputText);
这适用于我正在使用的测试站点。但是,我想将脚本作为字符串变量传递到InputText
方法中。尝试将其添加到代理中时,表示代理没有过载,例如:
webView.NavigationCompleted += new EventHandler<CoreWebView2NavigationCompletedEventArgs>(e => InputText(this, e, "Test"));
private async void InputText(object sender, CoreWebView2NavigationCompletedEventArgs args, string test)
{
await webView.ExecuteScriptAsync("document.getElementById('Textbox').value = 'Test';");
}
webView.NavigationCompleted+=neweventhandler(e=>InputText(这个,e,“测试”);
私有异步void InputText(对象发送方、CoreWebView2NavigationCompletedEventArgs args args、字符串测试)
{
等待webView.ExecuteScriptAsync(“document.getElementById('Textbox')。value='Test';”;
}
是否有方法重载此项以添加参数?代理具有签名,表明delares是对象类型的参数发送者,以及CoreWebView2NavigationCompletedEventArgs类型的e
public delegate void EventHandler<CoreWebView2NavigationCompletedEventArgs>(object sender, CoreWebView2NavigationCompletedEventArgs e);
如果不使用该参数,也可以使用discard操作符显式忽略它
(_, e) => InputText(this, e, "Test")
还请确保方法中使用了测试参数。在这里,我使用字符串插值和$
将test
的值插入脚本中
private async void InputText(object sender, CoreWebView2NavigationCompletedEventArgs args, string test)
{
await webView.ExecuteScriptAsync($"document.getElementById('Textbox').value = '{test}';");
}
(_, e) => InputText(this, e, "Test")
private async void InputText(object sender, CoreWebView2NavigationCompletedEventArgs args, string test)
{
await webView.ExecuteScriptAsync($"document.getElementById('Textbox').value = '{test}';");
}