Silverlight 是为 Web 页面内容设计的,它与主机进行连接(也就是说,它不能离线工作),可以极大地引起用户的兴趣,并且它可以任何浏览器中显示。Silverlight可以应用在一下 Web 应用场景中:

  • Web 媒体 - 带有事件、视频的品牌回放,带有广告的营销组合和动态视频,音频回复等等;
  • 页面中局部丰富的内容(Mini 程序) - 非正式的游戏和小东西;
  • Web 可视化元素 - 导航属性,数据可视化和广告等。

其实就是微软实现了一个类似于Flash的东东,由把这个东东跟.NET框架绑了起来

Silverlight 特性

Silverlight 1.0 (使用 JavaScript) 具有以下的特性:

  • 丰富的内容功能:使用 Silverlight ,你可以添加很多丰富的内容,包括视频、动画、文字、2-D 图像和一些 Web 页面的可视化效果。这些特性可以在任何浏览器中工作,比单纯使用 HTML 能带来更丰富的用户体验。
  • XAML 标记语言:基于 Silverlight 的应用采用一种强大的、公开的标记语言 XAML (Extensible Application Markup Language)作为创建吸引人的图像、动画和媒体的基础。XAML 与 HTML 是类似的,但它更强大,更具扩展性。
  • 工具:类似 Microsoft Expression Blend 和 Microsoft Expression Design 这样的工具能够提高创建 Silverlight 应用的设计人员和开发人员的效率和协作。
  • 与服务器集成: XAML 与 ASP.NET AJAX 无缝集成,比单独使用 ASP.NET AJAX 能够提供更丰富的表现能力。
  • 无需编译: JavaScript 是由浏览器解释的,不需编译。你可以将 javaScript 代码直接嵌入在 HTML 文件中,只需简单地刷新页面就能测试你修改的效果。
  • 很小的插件下载:所有的 Silverlight 应用需要客户端下载一个很小的插件(1-3 MB),安装简单并且速度快。

Browser Plug-in

在整个架构的最上层,是也嵌入到 Microsoft Internet Explorer、Mozilla Firefox 或者 Apple Safari之内的浏览器插件。SDK 提供了推荐使用的嵌入和部署插件。

浏览器插件主要提供下面的机制:

  • 设置和修改 XAML 内容能够被运行时执行;
  • 从运行时得到对象,供 JavaScript 使用;
  • 不断地下载内容。

元素树

Silverlight 应用程序的核心部分是对象树,例如 Path 对象, Image 对象和 MediaElement 对象,你可以对这些对象进行控制,创建出应用程序。这个树就称之为 元素树,和 HTML 元素树的概念类似。然而,它比 HTML 有更加丰富的图形元素,编程模型则和 HTML 的文档对象模型(DOM,Document Object Model)类似。树的遍历顺序控制着对象在应用程序中显示的顺序。要构建一个元素树,你可以使用随 Silverlight 一起提供的 XAML 解析器(通过设置插件的源代码实现),或者采用 CreateFromXaml 方法。

JavaScript 编程模型

Silverlight 1.0 中所有的对象都可以通过 JavaScript 对象模型进行访问。宿主页面可以调用 content.FindName 方法得到一个命名元素,进而可以设置它的属性或者调用它公开出来的方法。此外,我们还可以对元素或者控件附加键盘和鼠标事件处理器。事件处理器卡可以让用户得到 javaScript 的回调,相应用户的输入。

动画系统

通过添加移动和交互性,动画能够增强作品的图形效果。通过变换背景颜色或者进行动态变换,可以创造出戏剧性的屏幕变换效果或者有益的视觉暗示。我们可以创建基本的动画,也可以使用关键帧创建更复杂更强大的动画。此外,通过附加事件,可以实现动画的交互。更多信息,参见 动画概述。

图像缓存

当图像引用一个 URL 时,图像会下载到本地,并以解码后的形式进行缓存。如果你在你的程序内多次引用这张图片,它将从缓存内提取,并迅速使用。不同的插件引用同一图像时,则是利用浏览器的缓存,但每个 Silverlight 程序都需要解码一次。

为了达到最佳效果,要下载的图像的解析度应当图像的显示尺寸接近。如果图像的解析度远大于显示尺寸,将采用双线性过滤,防止显示变形。如果图像的解析度远小于显示尺寸时,图像将变得模糊。

此外,选择图像的解析度与显示尺寸解决将下载次数减少到最小。如果不得已需要缩放特效,请在服务器上存放多个解析度的图像,在动画的过程中动态切换不同的图像源。

文字引擎

文字引擎将在TextBlock内按流的方式,经过简单格式化和为了精确的固定格式的显示而明确定位字形后显示文本字符串,它采用系统指定的字体(这值限于各种平台上都有的字符集)或者采用指定的字体 URI,它会指向一个 TrueType 字体。

字形缓存

字形缓存通常由文本引擎使用,从字体文件产生字形以便展现。为了每一个特定目标方案的可读性,这种字形是经过优化的,因此,在文字显示的第一帧或者缩放文字时,需要进行字形的初始化。一旦初始化完毕,文字的滚动或者转换就不需要再下载了。

如果你的程序需要动态按比例变化大块文字,更好的办法是选用矢量的表现方法。

媒体管道

视频管道通过持续的HTTP下载或者HTTP流(WMS服务器)的方式得到内容,调用解码器解码视频,采用展现系统和音频引擎显示出来。

视频可以反复显示,缩放到全屏,在不同形状的路径、旋转等效果上由VideoBrush在不同的位置使用。

如果你的程序从窗口模式转换到全屏显示,我们推荐使用视频刷,在全屏模式下引用前面正在播放的媒体元素,这可确保这种转换是无缝的,并且不需要重新缓冲。

如果程序的内容必须对视频中的事件做出反应,你可以在视频流里插入标记,它将在程序里触发。

关于在应用中使用媒体的更多信息,请参见 媒体概述。

解码器

Silverilght 1.0 支持 PNG 和 JPG 格式的图像, Windows Media Video (WMV)格式的视频文件和 Windows Media Audio (WMA) 和 MP3 格式的音频文件。

下载器和打包

XAML、图像、字体或者其它数据,能够以压缩(zip)文件的格式打包,使用Downloader对象按需下载。我们建议你在低速的网络带宽下清空浏览器缓存测试你的程序,以确保有效的下载性能。如果你的程序的初始化加载时间很长,你应当提供一个正在加载的画面。

Ink 支持

Ink 支持指的是使用画笔、触摸屏或者鼠标作为输入源进行手写或者手画内容。Silverlight 提供一个 InkPresenter 对象,接收基于Ink的输入。要识别文字,请把数据发送到服务器。例子可以从 Silverlight Gallery中找到。关于这一特性的更多信息,参见 Silverlight 中的 Ink 支持。

1.http://silverlight.cn/(学习社区)

2.http://dotnet.aspx.cc/SilverlightSDK/ (sdk中文版)

几个学习的网站介绍:  Silverlight 1.0 架构

Silverlight 简介相关推荐

  1. SilverLight简介和优点

    SilverLight介绍 SilverLight是Windows PresentATIon Foundation的一个子产品,其利用了跨浏览器Web技术进行设计,以实现多操作系统,甚至是移动设备上的 ...

  2. Silverlight简介

    在学习一门新的技术之前还是先来看看这个技术能够给我们带来什么?本文中主要包含下面内容: 1.silverlight是什么? 2.silverlight能够给我们带来什么惊喜? 3.奇妙的silverl ...

  3. 微软Silverlight简介

    WPF与Silverlight有何不同? WPF(Windows Presentation Foundation),主要是提供统一的展现层模组,来建立诸如Windows Vista智慧型使用者体验,包 ...

  4. Silverlight Expression[转]

    *这篇文章基于 Silverlight 的预发布版.文中包含的所有信息均有变更可能. 本文讨论: Silverlight 和 XAML 简介 构建简单的 Silverlight 应用程序 在服务器上动 ...

  5. microsoft silverlight html5,Microsoft Silverlight 5.1

    Microsoft Silverlight 5.1是一个跨浏览器的.跨平台的插件,为网络带来下一代基于.NETFramework的媒体体验和丰富的交互式应用程序.Silverlight提供灵活的编程模 ...

  6. Silverlight Forms Builder表单设计器FreeForm 简介

    2019独角兽企业重金招聘Python工程师标准>>> FreeForm 简介 FreeForm 是 昕友软件 开发的免费表单设计器,是亿方智能平台的其中一个组件. 是一个基于 .N ...

  7. 在Silverlight+WCF中应用以角色为基础的安全模式(一)基础篇之角色为基础的安全模式简介...

        引言 最近一直在研究Silverlight+WCF应用中的安全问题,如何设计一个安全,又符合Silverlight和WCF的规范的应用呢?又可以将以前的角色为基础的开发框架拿来主义呢? 我们知 ...

  8. Silverlight OA源代码(Silverlight4+SQLServer2005)

    Silverlight OA系统简介 系统功能简介 l 程序界面介绍: 左侧为主菜单,主菜单可以展开和收起,主菜单下面的所有模块都可以在数据库中扩展增加,模块的权限和用户角色挂钩,可以在数据库中创建多 ...

  9. 分享Silverlight/WPF/Windows Phone一周学习导读(1月17日-1月23日)

    上周微软Silverlight团队发布"微软发布Silverlight Native Extensions 1.0 - 扩展OOB应用功能",对于Silverlight开发人员而言 ...

最新文章

  1. 第二课unit2 控制对文件的访问
  2. centos7配置静态IP
  3. 生成docker镜像
  4. SPHINX 文档写作工具安装简要指南 - windows 版 - 基于python
  5. 大数据技术之kafka (第 3 章 Kafka 架构深入 ) 高效读写数据
  6. 登 GitHub 趋势榜首德国疫情追踪 App 号称可保疫情隐私数据无忧,你信吗?
  7. [转] 基于C#的波形显示控件的实现
  8. 查询用户表(按照依赖对象排序)
  9. HDU_1198 Farm Irrigation(并查集)
  10. 《代码整洁之道》--读书笔记
  11. 苹果 2019 卖什么?新 iPhone 值不值得买?
  12. 知乎上 40 个有趣回复,很精辟很提神
  13. Scala+HuffmanCoding实现无损压缩
  14. 简述MySQL分区表类型
  15. iis rewrite 配置 php,IIS7.5安装禅道并开启Rewrite功能配置
  16. linux扩展模式触摸屏,在双屏模式下触摸屏校准的问题
  17. 【Unity】安卓加密编译libmono.so成功失败记录(unity2017已成功编译)
  18. idea左边项目栏目录结构不见了/文件夹在上面显示
  19. 展讯平台 mimi教程
  20. nonebot发送CQ码

热门文章

  1. curl_exec函数
  2. 《中国金融市场大变局》
  3. 技术为本,中科柏诚致力于打造高效供应链金融平台
  4. 高端大气上档次Ergotron Neo-Flex+MBP Retina的组合~
  5. linux c++读取excel文件的库
  6. 李国庆:建议被降级降薪员工主动辞职……网友炸了!
  7. 深度学习笔记(28) 残差网络
  8. Instead Of Insert触发器
  9. 如何使用WordPress插件添加约会预约日历
  10. Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C