当前位置: > 网站建设 > silverlight教程 >

Silverlight编程模型、XAML和HTML DOM

时间:2012-04-09 | 栏目:silverlight教程 | 点击:

基于 Silverlight 的应用程序使用浏览器宿主中的 Silverlight 插件通过一个基于浏览器的文档对 象模型 (DOM) 和一个包括对象树概念的特定于 Silverlight 的编程模型来公开其功能。如果使用 Silverlight 编程模型,则可以选择以下三个 API 变体之一:由浏览器解释的 JavaScript、托管代码或 由动态语言运行时 (DLR) 解释的动态语言。本主题讨论 DOM 与各可能的 API 变体之间的关系,此外, 还讨论各种 API 和应用程序模型如何使用 XAML 标记。

文档对象模型

文档对象模型 (DOM) 是一个非特定平台、且非特定语言的通用编程概念。DOM 提供文档的结构化表示 形式(例如网页)以及用于访问和操作文档的结构、样式和内容的指定方式。每个可以将 Silverlight 运行时作为插件承载的浏览器都实现一个 HTML DOM,该模型公开 HTML 页的元素,包括 Silverlight 插 件。

万维网联合会 (W3C) DOM 标准形成了在最广泛使用的浏览器中实现的 DOM 的基础。但大多数浏览器 都提供超越 W3C 标准的扩展。因此,开发人员需要认识到这些差异,才能创建非特定平台的内容。下表 中列出的浏览器 DOM 都可以访问 Silverlight。

DOM 说明
Gecko DOM(Mozilla、Firefox、Netscape 版本 6 及更高版本以及其他基于 Mozilla 的浏览 器) Gecko 是一个软件组件,用于处理 HTML 的分析、页面布局、文档对象模型以及整个应用程序 的呈现。
DHTML DOM (Internet Explorer) 动态 HTML (DHTML) DOM 为作者提供对其 Web 文档的各个组件(从各个元素到容器)的直接 可编程访问。

创建 Silverlight 插件后(一般使用 HTML object 标记),可以通过引用插件实例的 ID 在 HTML DOM 中检索对该插件实例的引用。下面的 JavaScript 示例演示如何使用 document.getElementById 方 法检索 Silverlight 插件的 ID。

var plugin_1 = document.getElementById("SLPlugin_1");

Silverlight 编程模型

Silverlight API 将它的一组对象定义为对象树,这样您就可以通过加载 XAML 来填充基于 Silverlight 的应用程序的初始内容,然后在运行时调整对象树。Silverlight 对象树是通过 Silverlight 插件(创建为网页上的插件实例)公开的。Silverlight 对 Microsoft Internet Explorer 使用 ActiveX 插件模型,对其他浏览器使用 Netscape API 插件模型。可以使用托管 API 或 JavaScript API 针对 Silverlight 进行编程,大多数情况下使用托管 API。

XAML 和 Silverlight 对象树

Silverlight 插件最初由 object 标记的 source 参数声明(如果使用托管 API,之后将由 Silverlight 应用程序模型进行处理),为该插件提供内容实际上就是在标记中定义 XAML 元素,这些元 素具有包含一个根元素的分层树结构。经过分析的 XAML 创建 Silverlight 的初始对象树。

您可能感兴趣的文章:

相关文章