快捷搜索:

Silverlight编程模型、XAML和HTML DOM

基于 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 的初始工具树。

您可能还会对下面的文章感兴趣: