摘要:
我希望在当前的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应用程序似乎在其自己的容器窗口中运行,并且我需要将Silverlight应用程序嵌入在Winforms应用程序的面板中。我的Winforms应用程序不需要与Silverlight应用程序进行通信,反之亦然,这纯粹是为了将所有内容包含和显示在一个窗口中。
如果有另一种方式可以达到我想要的结果,我也不会随意提出建议。
最佳答案
最好的选择是托管Silverlight content within a WebBrowser Control。这将使您的Silverlight内容在Windows窗体应用程序内部“运行”。
COM自动化不会帮助嵌入式Silverlight进入Windows Forms应用程序。它实际上是为在Silverlight中使用COM而设计的,而不是相反。
关于c# - 如何将Silverlight OOB附加到Winforms面板?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2540667/