如何将Silverlight OOB附加到Winforms面板?

时间:2010-03-29 19:27:45

标签: c# winforms silverlight silverlight-oob

摘要:

我想在我当前的Winforms应用程序的一部分中使用Silverlight / WPF的漂亮。该应用程序只能访问完整的.NET Framework 2.0,不多也不少。我能想到的唯一可能性是使用Com + Automation的Silverlight OOB应用程序,但我无法弄清楚如何将Silverlight应用程序附加到父Winforms应用程序中的面板。

详细信息:

我目前有一个winforms应用程序,并希望利用WPF中改进的GUI功能,但我的许多用户仍在运行.Net Framework 2.0并且拒绝更新到3+。所以WPF对我来说不是一个选择。

我知道Silverlight只是WPF的一个子集,但它具有我正在寻找的大多数功能,只需要Silverlight插件。我已经阅读了Silverlight 4的Com + Automation,它可以让我访问完整的桌面.Net Framework 2.0(我需要它)。为了让Com + Automation在Silverlight中工作,我需要提升信任度,而我能找到的唯一获得提升信任的方法是使我的Silverlight应用程序脱离浏览器(OOB)。

我的问题是OOB应用程序似乎在自己的容器窗口中运行,我需要在Winforms应用程序的面板中嵌入Silverlight应用程序。我的Winforms应用程序不需要与Silverlight应用程序通信,反之亦然,这纯粹是为了包含所有内容并在一个窗口中显示。

如果有另一种方法可以获得我想要的结果,我没有想过随意提出它。

1 个答案:

答案 0 :(得分:4)

最佳选择是托管Silverlight content within a WebBrowser Control。这将允许您的Silverlight内容在Windows窗体应用程序“内部”运行。

COM自动化无法帮助嵌入式Silverlight INTO Windows窗体应用程序。它真的打算在Silverlight中使用COM,而不是相反。