我需要在现有的WinForms应用程序中托管Silverlight应用程序作为模块。我的计划是在WinForms应用程序的Web浏览器控件中托管承载Silverlight应用程序的网页。
我无法弄清楚的部分是如何从Silverlight应用程序返回到Winforms应用程序。对于初学者,Silverlight应用程序需要通知网页它正在关闭并让浏览器控件通知WinForms模块应用程序已终止。一旦工作,我需要能够向WinForms程序发送几个不同的事件。
这似乎不应该很难做到,但我希望有人可以为我节省大量的实验,并避免浪费时间沿着错误的道路前进。
我的环境是Silverlight 4.Winforms应用程序目前还托管一些WPF控件。
答案 0 :(得分:0)
一种向后的方法。
Silverlight是一种使WPF在其他平台上可用的解决方法。
如果您正在运行winforms,只需将其作为WPF窗口托管。这真的很容易。
MyWindow window = new MyWindow(); // WPF widnow
ElementHost.EnableModelessKeyboardInterop(window) // this is part of windforms integration namespace, allows winforms and wpf to communicate
window.Show();