Welcome

首页 / 软件开发 / Silverlight / Silverlight:替代宿主

Silverlight:替代宿主2011-09-05 msdn Silverlight 主要是为在网页中承载而设计的。但是,有若干替代宿主选项使 Silverlight 能够在浏览器外或在其他宿主环境内运行。

大多数替代宿主选项都超出了本 Silverlight 文档论述的范围。不过,本主 题总结了这些选项并提供指向可用的附加信息和示例代码的链接。特别要指出的 是,MSDN Code Gallery(MSDN 代码库)上的 Silverlight Alternative Hosting(Silverlight 替代宿主)页提供某些高级宿主选项的附加文档和代码示 例。

说明:

Silverlight 具有同样的安全沙盒限制,而与宿主环 境或者 Web 浏览器是否存在无关。但是,宿主环境可提供对本地计算机的完全访 问权限,从而有效地绕过 Silverlight 安全性。

如果浏览器或网络连接 不存在,则宿主环境可能需要根据您的要求提供替代功能。

在浏览器外使 用 Silverlight

Silverlight 为您的 Web 承载的、基于 Silverlight 的应用程序在 Windows 和 Macintosh 计算机上提供基本的浏览器外支持。这是 在 Web 浏览器外使用 Silverlight 的最简单方法,但它要求用户从宿主网页安 装该应用程序。

要获得更丰富的脱机支持,包括对本地计算机的完全访问 权限,请考虑使用 Windows Presentation Foundation (WPF)。WPF 提供 Silverlight 功能的超集,并且使您能够用最少的代码修改将基于 Silverlight 的应用程序转换为功能齐全的 Windows 应用程序。

在浏览器控件中使用 Silverlight

使用嵌入的 Web 浏览器控件是将 Silverlight 添加到使用 其他技术创建的应用程序的最简单方法。在这种情况下,您的应用程序承载某一 浏览器控件,该控件显示某一网页,而该网页又承载您的基于 Silverlight 的应 用程序。

根据您的需要,您可以隐藏宿主层之间的边界,并且创建无缝的 用户界面。为了在您的宿主应用程序和 Silverlight 代码之间进行通信,可以使 用 HTML DOM。

有关如何从 Silverlight 访问 HTML DOM 的信息,请参见 HTML Bridge: HTML 和托管代码之间的交互。若要从您的宿主应用程序访问 DOM,请参考所选浏 览器控件的文档。下表指出了一些常见的浏览器控件。

Windows 窗体 WebBrowser 控件。

WPF WebBrowser 控件。

Win32 WebBrowser 控 件。

MSHTML 组件。

Macintosh OS X WebKit 框架。

在其 他插件或应用程序中使用 Silverlight 用户界面

Silverlight 提供名为 ISilverlightViewer 的非托管接口,您可以通过该接口检索基于 Silverlight 的用户界面 (UI) 的位图呈现。您可以使用此功能将 Silverlight 用户界面元素 与其他应用程序的用户界面结合在一起。