Silverlight和COM Interop

时间:2009-07-30 03:52:55

标签: silverlight com

我从silverlight与COM控件进行交互有哪些选择?

在我的特定项目中,我有一个遗留的ActiveX身份验证控件,我想在我的silverlight应用程序中使用它。没有太多无聊的细节,控件会使用几个参数,提示用户输入凭据或令牌,并引发事件。我需要从我的控件中设置参数,并以某种方式将事件的数据发送给我的控件。

此外,我希望让UI看起来尽可能均匀。

这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:8)

Silverlight 4 Beta宣布推出可信应用程序的COM Interop。

有关Tim Heuer博客的更多信息:http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx#com

答案 1 :(得分:3)

IIRC,Silverlight没有提供任何直接使用COM的方式 - 没有P / Invoke也没有COM Interop - 并且沙箱在任何情况下都不允许你这样做。但是,您可以在浏览器中与Silverlight应用程序一起托管ActiveX控件(这显然只限于IE),然后编写一些浏览器中的JavaScript粘合剂来使用它 - JavaScript可以与ActiveX和Silverlight交互。

但是,我认为您无法在Silverlight应用程序中合理地托管ActiveX控件。您可以做的最接近的是如上所述,但如果Silverlight画布位于正确位置,则将ActiveX控件(在浏览器DOM中)定位在顶部,因此它看起来像一个UI。但是,不确定这是否会产生任何渲染工件。