2009-07-30 17 views
3

silverlightからCOMコントロールとやりとりするためのオプションは何ですか?SilverlightとCOM Interop

私の特定のプロジェクトでは、Silverlightアプリケーションで活用したい従来のActiveX認証コントロールがあります。あまりにも多くの退屈な詳細がなければ、コントロールはいくつかのパラメータを取って、ユーザーに資格やトークンを要求し、イベントを発生させます。私は私のコントロールからパラメータを設定する必要があり、何とか私のコントロールにイベントのデータを取得します。

さらに、UIをできるだけ均質に見せたいと思います。

これを行う最善の方法は何ですか?

答えて

3

IIRCでは、SilverlightはCOMで直接動作することはありません.P/InvokeもCOM Interopもありません。どの場合でもサンドボックスを使用することはできません。しかし、Silverlightアプリケーション(これはIEのみに限定されています)と並んで、ブラウザでActiveXコントロールをホストし、ブラウザでJavaScriptを使用して作業することができます.JavaScriptはActiveXとSilverlightの両方と対話できます。

ただし、Silverlightアプリケーション内にActiveXコントロールを適度にホストすることはできません。あなたができる最も近いのは上記のとおりですが、Silverlightのキャンバスが適切な場所にある場合はActiveXコントロール(ブラウザのDOM内)を上に置いてください。そうすれば、単一のUIのように見えます。しかし、これがレンダリング成果物を生成しないかどうかは不明です。

+0

ありがとうございました。これは私が期待していたもので、私が逃したかもしれない他のアプローチがあるかもしれないことを期待していました。私はそれがIEだけであることを心配していません、それは最初にActiveXで作業することの喜びですから。 –

+8

ただし、最新のSilverlightではそれほど真実ではありません。 Silverlight 4には現在COMの相互運用機能があります。 –

+0

Silverlight 5にはP/Invokeもあります。この回答は古代です。 – John

関連する問題