`
mmdev
  • 浏览: 12915730 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Silverlight应用程序和编程模型

 
阅读更多

大多数基于 Silverlight 的应用程序以托管代码编写并充分利用 Silverlight 应用程序模型。但是,您可以选择使用简化的编程模型。

Silverlight 为应用程序开发提供以下两个截然不同的模型:

  • Silverlight 的托管 API,它使用在 Silverlight 的公共语言运行时 (CLR) 上运行的代码。可以将托管 API 用于已编译的语言(如 Visual Basic 和 C#)或动态语言(如 IronPython 和 IronRuby)。有关动态语言的更多信息,请参见Silverlight Dynamic Languages SDK(Silverlight 动态语言 SDK)。

  • Silverlight 的 JavaScript API,它使用由浏览器解释的 JavaScript 代码。

这些编程模型截然不同,因为您在 Silverlight 插件的单个实例中不能同时使用它们。但是,您可以实现使用 JavaScript API 的初始屏幕,然后在加载您的应用程序时过渡到托管 API。

托管 API 提供比 JavaScript API 多很多的功能,在大多数 Silverlight 文档中都会涉及它。使用托管 API 的应用程序可以访问 .NET Framework 的轻量级版本,而 JavaScript API 只能访问 Silverlight 表示核心和浏览器 JavaScript 引擎。

有关 .NET Framework 和 Silverlight 表示核心提供的功能的更多信息,请参见Silverlight 结构

托管 API 允许将托管程序集和资源文件打包为应用程序包 (.xap) 文件。Silverlight 插件负责加载应用程序包并提取其内容。

应用程序包必须包含一个程序集,该程序集具有从Application派生的类。Application类封装您的应用程序和 Silverlight 插件之间的交互。例如,它允许您在宿主网页内显示用户界面。此外,它提供应用程序生存期事件和资源管理。

Silverlight 文档使用术语"应用程序模型"来指代由Application类封装的应用程序包和公共功能。该应用程序模型帮助您开发简单应用程序以及可以共享网络资源的复杂、可扩展应用程序。

有关更多信息,请参见应用程序模型。这些应用程序模型主题提供有关设计应用程序以支持几种常见情况(如根据需要加载资源、下载进度指示和导航)的指导。

可以使用 XAML 标记在托管 API 和 JavaScript API 中封装您的用户界面 (UI) 设计。使用托管 API 时,可以将应用程序代码分布到多个 XAML 文件和伴随的代码隐藏文件。

当 Silverlight 插件加载 XAML 文件时,它创建您的代码隐藏可以操作的对象树。您的托管应用程序代码也可以通过 HTML Bridge 操作 HTML 文档对象模型 (DOM)。

有关托管代码如何与 XAML 和 HTML 交互的信息,请参见Silverlight 的托管 API

JavaScript API 是 Silverlight版本1.0 中可用的模型,为向后兼容而保留,以支持一些特殊情况。

在 JavaScript API 中,Silverlight 插件加载单个 XAML 页而非应用程序包。此 XAML 可包括对服务器端资源(如图像和视频)的 URI 引用。Silverlight 插件使用 XAML 创建一个对象树,您可以通过在宿主 HTML 页中使用 JavaScript 以编程方式来操作该对象树。

JavaScript API 不提供能支持具有内部导航功能的复杂应用程序的应用程序模型。但是,它支持一些使用托管 API 不方便的情况,如初始屏幕。您还可以通过将新的 XAML 页加载到 Silverlight 插件或将新的网页加载到浏览器来实现基本导航功能。

有关更多信息,请参见Silverlight 的 JavaScript API

托管 API 和 JavaScript API 都允许您在宿主 HTML 页中使用 JavaScript 以将 Silverlight 与 HTML 文档对象模型 (DOM) 集成。

在 JavaScript API 中,必须使用由浏览器解释的 JavaScript(它可以直接与 DOM 交互)实现大多数应用程序功能。在托管 API 中,您的 JavaScript 和 DOM 代码通过使用 HTML Bridge 来与 Silverlight 插件和应用程序模型进行交互。

有关更多信息,请参见Silverlight 编程模型、XAML 和 HTML DOMHTML Bridge:HTML 和托管代码之间的交互

使用 HTML Bridge 功能的一个原因是创建将 Silverlight 与其他基于 HTML 的内容相集成的网页。还可以使用 HTML DOM 在单一页面中集成多个基于 Silverlight 的应用程序。然而,在此情况下,Silverlight 为在多个 Silverlight 插件之间进行通信提供内置支持,称为本地消息传递。

通过本地消息传递,您可以将消息从一个基于 Silverlight 的应用程序发送到在同一台计算机上运行的其他应用程序。这样,您可以创建跨多个插件的 Silverlight 内容,例如从横幅跨越到侧栏的动画。有关更多信息,请参见基于 Silverlight 的本地应用程序之间的通信

Silverlight 提供内置支持,以便在浏览器外运行托管应用程序。在配置应用程序以提供浏览器外支持之后,用户可以从其宿主网页安装该应用程序。安装之后,用户不需要浏览器或甚至不需要网络连接就可以运行应用程序。您不需要修改任何应用程序代码,就可以配置应用程序以实现浏览器外支持。此外,您可以为浏览器外模式实现附加支持,例如,脱机缓存和自动更新。有关更多信息,请参见浏览器外支持

还可以在其他环境中使用 Silverlight 插件。然而,在这种情况下,没有内置的支持。将 Silverlight 与其他技术相集成的最简单方法是将 Silverlight 插件承载在浏览器控件中。然后,您可以在其他技术中承载此浏览器控件。更复杂的承载选项要求使用非托管代码和 COM 接口。如果您在桌面应用程序中需要 Silverlight 的功能,则应考虑使用 Windows Presentation Foundation (WPF)。有关在其他环境中使用 Silverlight 的更多信息,请参见替代宿主

分享到:
评论

相关推荐

    Silverlight 2 Toolkit July 2009

    应用程序和编程模型 布局、文本和输入 控件 图形、动画和媒体 XAML 将 Silverlight 与网页集成 类型、属性、方法和事件 数据访问和数据结构 网络和通信 调试、错误处理和异常 部署和本地化 性能 安全性 ...

    silverlight4.0中文教程二(一共两个分卷压缩包下载全了再解压)

    应用程序和编程模型 布局、输入和打印 控件 图形、动画和媒体 XAML 将 Silverlight 与网页集成 类型、属性、方法和事件 数据访问和数据结构 网络和通信 调试、错误处理和异常 部署和本地化 性能 安全性 常规参考

    Silverlight 基础和实践

    Microsoft Silverlight是一个跨浏览器的...Silverlight提供灵活的编程模型,并可以很方便地集成到现有的网络应用程序中。Silverlight可以对运行在Mac或Windows上的主流浏览器提供高质量视频信息的快速、低成本的传递。

    silverlight4.0中文教程一(一共两个分卷压缩包下载全了再解压)

    应用程序和编程模型 布局、输入和打印 控件 图形、动画和媒体 XAML 将 Silverlight 与网页集成 类型、属性、方法和事件 数据访问和数据结构 网络和通信 调试、错误处理和异常 部署和本地化 性能 安全性 常规参考

    Silverlight

    Microsoft Silverlight是一个跨浏览器的...Silverlight提供灵活的编程模型,并可以很方便地集成到现有的网络应用程序中。Silverlight可以对运行在Mac或Windows上的主流浏览器提供高质量视频信息的快速、低成本的传递。

    Silverlight 参考手册 (全) [微软官方 MSDN] (chm格式,共2卷,2-2)

    应用程序和编程模型 布局、输入和打印 控件 图形、动画和媒体 XAML 将 Silverlight 与网页集成 类型、属性、方法和事件 数据访问和数据结构 网络和通信 调试、错误处理和异常 部署和本地化 性能 安全性 Mobile ...

    Silverlight 参考手册 (全) [微软官方 MSDN] (chm格式,共2卷,2-1)

    应用程序和编程模型 布局、输入和打印 控件 图形、动画和媒体 XAML 将 Silverlight 与网页集成 类型、属性、方法和事件 数据访问和数据结构 网络和通信 调试、错误处理和异常 部署和本地化 性能 安全性 Mobile ...

    Windows Phone 10. XNA 3D 模型浏览器

    而Windows® Phone Mango中允许您同时使用两个编程框架,Silverlight应用程序中可以嵌入XNA模块,XNA应用程序中也可以嵌入Silverlight元素。这样的话,可以保持两个应用程序框架的优势。例如,在Windows Phone Mango...

    Silverlight学习总结2

    Microsoft Silverlight是一个跨浏览器的...Silverlight提供灵活的编程模型,并可以很方便地集成到现有的网络应用程序中。Silverlight可以对运行在Mac或Windows上的主流浏览器提供高质量视频信息的快速、低成本的传递。

    Silverlight_x64.exe

    此下载文件的版本:V5.150428.0 用于64位...Silverlight提供灵活的编程模型,并可以很方便地集成到现有的网络应用程序中。Silverlight可以对运行在Mac或Windows上的主流浏览器提供高质量视频信息的快速、低成本的传递。

    Silverlight_x64

    Microsoft Silverlight是一个跨浏览器的...Silverlight提供灵活的编程模型,并可以很方便地集成到现有的网络应用程序中。Silverlight可以对运行在Mac或Windows上的主流浏览器提供高质量视频信息的快速、低成本的传递。

    Silverlight3中文开发文档[4]

    +应用程序和编程模型 +布局文本和输入 +控件 +图型、动画和媒体 +XAML +将Silverlight 与网页集成 +类型、属性、方法和事件 +数据访问和数据结构 +网络和通信 +调试、错误处理和异常 +部署和本地化 +...

    silverlight x64

    Microsoft Silverlight是一个跨浏览器的...Silverlight提供灵活的编程模型,并可以很方便地集成到现有的网络应用程序中。Silverlight可以对运行在Mac或Windows上的主流浏览器提供高质量视频信息的快速、低成本的传递。

    silverlight

    Microsoft Silverlight是一个跨浏览器的...Silverlight提供灵活的编程模型,并可以很方便地集成到现有的网络应用程序中。Silverlight可以对运行在Mac或Windows上的主流浏览器提供高质量视频信息的快速、低成本的传递。

    silverlight答辩

    Microsoft Silverlight是一个跨浏览器的...Silverlight提供灵活的编程模型,并可以很方便地集成到现有的网络应用程序中。Silverlight可以对运行在Mac或Windows上的主流浏览器提供高质量视频信息的快速、低成本的传递。

    Silverlight3中文开发文档[3]

    +应用程序和编程模型 +布局文本和输入 +控件 +图型、动画和媒体 +XAML +将Silverlight 与网页集成 +类型、属性、方法和事件 +数据访问和数据结构 +网络和通信 +调试、错误处理和异常 +部署和本地化 +...

    Silverlight3中文开发文档[1]

    +应用程序和编程模型 +布局文本和输入 +控件 +图型、动画和媒体 +XAML +将Silverlight 与网页集成 +类型、属性、方法和事件 +数据访问和数据结构 +网络和通信 +调试、错误处理和异常 +部署和本地化 +...

    Silverlight3中文开发文档[2]

    +应用程序和编程模型 +布局文本和输入 +控件 +图型、动画和媒体 +XAML +将Silverlight 与网页集成 +类型、属性、方法和事件 +数据访问和数据结构 +网络和通信 +调试、错误处理和异常 +部署和本地化 +...

Global site tag (gtag.js) - Google Analytics