【问题标题】:Host a Silverlight application in Winforms application在 Winforms 应用程序中托管 Silverlight 应用程序
【发布时间】:2010-06-16 05:25:51
【问题描述】:

我需要将 Silverlight 应用程序作为模块托管在现有 WinForms 应用程序中。我的计划是在 WinForms 应用程序的 Web 浏览器控件中托管承载 Silverlight 应用程序的网页。

我无法弄清楚的部分是如何从 Silverlight 应用程序通信回 Winforms 应用程序。对于初学者,Silverlight 应用程序需要通知网页它正在关闭,并让浏览器控件通知 WinForms 模块应用程序已终止。一旦它工作正常,我需要能够将几个不同的事件发送到 WinForms 程序。

这似乎并不难做到,但我希望有人可以为我节省大量的实验,让我不要浪费时间走错路。

我的环境是 Silverlight 4。Winforms 应用程序目前还托管一些 WPF 控件。

【问题讨论】:

  • 你说得对,这是重复的。我在发布之前确实看过,但显然我搜索得不够努力。感谢您为我指明正确的方向。

标签: winforms silverlight


【解决方案1】:

一种倒退的方法。

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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-29
    • 1970-01-01
    相关资源
    最近更新 更多