WPFのコンポーネントを使用してWebBrowser
JavaScript+HTMLをホストしており、カスタマイズ可能なオブジェクトをプロパティとして渡せるようにしたいと考えていObjectForScripting
ます。私の最終目標は、で実行されているjavascriptが次のWebBrowser
ようなものを呼び出すことができるようにすることです。
window.external['lookup'].getValue(someId);
プロパティを持つにComVisible
設定されたクラスを実装することで、これに近い何かを達成できます。true
lookup
[ComVisible(true)]
public class ScriptingContext
{
public LookupService lookup { get; set; } //where LookupService is also ComVisible
}
ただし、渡すメンバーについては柔軟に対応したいObjectForScripting
ので、各プロパティを事前に指定することはできません。
理想的には、渡す名前とオブジェクトのペアを指定したいのですが、これは機能しません。
私がこれまでに試した(そして失敗した)こと:
Dictionary<string,object>
私のコンテキストとしてを使用する- その拡張子を使用すると、
Dictionary<string,object>
としてマークされますComVisible
- を使用して
ExpandoObject
- を使って
List<KeyValuePair<string,object>>
- その拡張子を使用すると、
List<KeyValuePair<string,object>>
としてマークされますComVisible
不足しているカスタマイズ可能なものObjectForScripting
をWPFに渡す方法はありますか?WebBrowser