public void ProcessResult(string result)
{
this.MyTextBox.Text = result;
}
...
this.WebBrowser.InvokeScript("jsFunctionName", ProcessResult);
私はこれを達成する必要があります。 JavaScript関数 "jsFunctionName"は非同期で、結果をキャプチャするコールバックが必要です。WPF WebBrowser.InvokeScriptメソッドにデリゲートを渡す
ただし、InvokeScriptメソッドの2番目のパラメータは、オブジェクトの配列を受け入れます。では、このC#メソッド/デリゲートをInvokeScriptメソッドに渡すにはどうすればよいですか?
EDIT:
我々はWebBrowserコントロールにデリゲートを渡すことができたとしても、どのようにコントロール内のスクリプトは、C#のデリゲートを呼び出しますか?私はInvokeScriptとの双方向通信の実装の詳細については、この記事を見てお勧めします
ありがとう!これとは別に、インタフェースを作成して[ComVisible(true)]を作成しなければならず、インタフェースにはJavaScriptからアクセス可能なメソッドが含まれていました。また、私は[ClassInterface(ClassInterfaceType.None)]を私のWindowクラスに設定しました。 このようにして、実行時にNonComVisibleBaseClassエラーを取り除くことができます。 – Shankar