推荐最低硬仉|? Intel Pentium III 450-megahertz (MHz) or faster, equivalent processor 128 megabytes (MB) of RAM
对于 Microsoft Internet Explorer 用户: 览器会提示您运行或保存安装文g(Silverlight.1.0beta.exe)。点?strong>q行开始下载。当您完成下载后览器会再次提示您是否运行安装程序。点?strong>q行开始安装。注意安装Silverlight必须有够的理权限 |
对于 Mozilla Firefox 用户: 保存 Silverlight.1.0beta.exe 到您的硬? 一旦下载完成点?strong>打开可以开始安? |
Silverlight 是一U新?Web 呈现技术,能在各种q_上运行。借助该技术,您将拥有内容丰富、视觉效果绚丽的交互式体验,而且Q无论是在浏览器内、在多个讑֤上还是在桌面操作pȝQ如 Apple MacintoshQ中Q您都可以获得这U体验。Microsoft .NET Framework 3.0QWindows ~程基础l构Q中的呈现技?XAMLQ可扩展应用E序标记语言Q遵?WPF (Windows Presentation Foundation)Q它?Silverlight 呈现功能的基?/p>
本白皮书逐步引导您了?Silverlight 的基本情况,以及如何使用 Microsoft 的众多工P包括 Microsoft Expression Blend、Microsoft Visual Studio 2005 ?XAMLQ来构徏内容丰富的图形站炏V首先,让我们了解一?Silverlight 发展历程的相兌景信息,以及它在开发领域所处的位置?/p>
我们先来看一?Microsoft Expression BlendQ用该工具创徏一?XAML 格式的非常简单的应用E序Q以?Silverlight 使用。要?Blend 中创?Silverlight 应用E序Q请选择 FileQ文Ӟ->New projectQ新建项目)Q此时会打开“New Project”Q新建项目)对话框。请参见?1?/p>
?1. 使用 Expression Blend 创徏新的 Silverlight 目
选择 OKQ确定)Q即会创Z个新目。该目包含一个默?HTML 面、该面的一?JavaScript 源代码、一?XAML 文档和该 XAML 文档?JavaScript 源代码及 Silverlight.js?/p>
Silverlight.js 包含用于下蝲和实例化 Silverlight 控g的代码。它作ؓ Silverlight SDK 的一部分提供l用戗?
Default.html 是标准的 HTML |页。该|页包含三个 JavaScript 脚本引用Q分别指?Silverlight.js、Default.html.jsQ其中包含特定于应用E序的用于安?Silverlight 的代码)?Scene.xaml.jsQ其中包含在 XAML 中定义的应用E序事g的事件处理程序)?
它被设计Z个独立的面 (default.html)Q与实例化逻辑 (default.html.js)、设?(Scene.xaml) 和事件代?(Scene.xaml.js) 分开。不q,理论斚w的探讨已l够多了Q现在我们开始开发一个简单的应用E序?/p>
在项目中d视频文g。ؓ此,请右键单dq右上方 Project FilesQ项目文ӞH口中的目文gQ然后选择 Add Existing Item...Q添加现有项目)?/p>
选择某个 WMV 文gq将其添加到目Ӟ目览器中显C文gQ同时在视图中添加了一个媒体元素?/p>
?2. ?XAML 视图中添加媒体元?/strong>
现在卛_q行您的目Q浏览器启动ƈ播放您的视频Q?/p>
通过~辑 XAML 可以停止自动播放视频。您会看?XAML 设计器右侧有两个选项卡:DesignQ设计)?XAML。选择“XAML”选项卡,会打开 XAML ~辑器,如图 3 中所C。用该~辑器ؓ媒体元素~辑 XAML 文本Q添加属?AutoPlay=False?/p>
?3. ?XAML ~辑器中~辑 XAML
现在Q如果您q行该应用程序,会看?Silverlight 内容虽然呈现了视频的W一帧,但ƈ不播放?/p>
应用E序d两个文本块,文本内容分别?Play ?StopQ名U分别ؓ txtPlay ?txtStop。完成后QXAML 应如下所C:
<Canvas xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="640" Height="480" Background="White" > <MediaElement AutoPlay="False" x:Name="Movie_wmv" Width="320" Height="240" Canvas.Left="128" Canvas.Top="56" Source="Movie.wmv" Stretch="Fill"/> <TextBlock x:Name="txtPlay" Width="72" Height="24" Canvas.Left="136" Canvas.Top="336" Text="Play" TextWrapping="Wrap"/> <TextBlock x:Name="txtStop" Width="80" Height="24" Canvas.Left="136" Canvas.Top="368" Text="Stop" TextWrapping="Wrap"/> </Canvas>
接下来,为文本块?XAML 中添加事件处理程序声明。ؓ此,可以使用 MouseLeftButtonDown 属性声明单击鼠标的处理E序。在 txtPlay 文本块中Q添加对 DoPlay 的事件处理程序;?txtStop 文本块中Q添加对 DoStop 的事件处理程序。完成后QXAML 应如下所C:
<TextBlock x:Name="txtPlay" Width="72" Height="24" Canvas.Left="136" Canvas.Top="336" Text="Play" TextWrapping="Wrap" MouseLeftButtonDown="javascript:DoPlay"/> <TextBlock x:Name="txtStop" Width="80" Height="24" Canvas.Left="136" Canvas.Top="368" Text="Stop" TextWrapping="Wrap" MouseLeftButtonDown="javascript:DoStop"/>
现在Q如果用户单d中一个文本块Q将触发一个事Ӟ您可通过 JavaScript 功能捕获q处理该事g?/p>
模板创徏?Scene.xaml.js 可用于在 JavaScript 中捕获ƈ处理用户事g。由于您?XAML 内指定了 DoPlay ?DoStop 事g处理E序Q因此应在此处付诸实施。相应的代码如下所C:
function DoPlay(sender, eventArgs) { var theHost = document.getElementById("SilverlightControl"); var theMedia = theHost.content.findName("Movie_wmv"); theMedia.Play(); } function DoStop(sender, eventArgs) { var theHost = document.getElementById("SilverlightControl"); var theMedia = theHost.content.findName("Movie_wmv"); theMedia.Stop(); }
在本例中Q将 Silverlight 控gUCؓ SilverlightControlQ将引用该控件的 JavaScript 变量UCؓ theHost。稍后查扑֪体元素(在本例中UCؓ Movie_wmvQ时Q将用到上述名称。在目中添加电影时Qؓ您创Z此媒体元素,该元素的名称是根据电影名U命名的。因此,如果电媄的名U是 Movie.wmvQ则此媒体元素就UCؓ Movie_wmv。如果用其他电影,则控件也会相应地采用其他名称?/p>
该媒体元素有 Play ?Stop 两个ҎQ分别用于启动或停止媒体播放?/p>
׃存在对该媒体元素的引用,因而可以调用上q方法,电媄随之停止或启动Q如?4 中所C?/p>
?4. q行应用E序
作ؓFlash的竞争者,现在才出现的有ҎQ不q要是以Flex的竞争者,׃Ajax?netE序员的数量q远出FlexE序员,q个倒是有点看头?/p>
q个是一个演C网站:http://silverlight.net/fox/
软g需求:Microsoft Silverlight 1.0 Beta - for Mac or for WindowsQ播放插ӞQ?strong>Microsoft Silverlight 1.1 Alpha - for Mac or for WindowsQ程序开发预览)Q?a target=_blank>Microsoft Visual Studio codename “Orcas” Beta 1Q微软下一代Visual Studio产品Q,Microsoft Silverlight Tools Alpha for Visual Studio codename “Orcas” Beta 1QVisual Studio的Silverlight开发包Q,Expression Blend 2 May Preview Q给Silverlight开发用L面和设计Q,Expression Media Encoder May Preview Q视频开发)Q?a target=_blank>Expression Design Q设计矢量图形)?/p>
关于后面的图形界面开发的软gQ可以看看Expressionpd介绍视频Q这个是Expression的主?a target=_blank>http://www.microsoft.com/expression/?/p>
看了一下他制作的过E的视频Q感觉有点像是Flash IDE+Flex开发,但是协作的确是相当强悍:Expression Blend可以对图形进行补间动画,而到了Visual Studio可以q行E序代码对图形进行运操作?/p>
感觉上他在图形图像上的确比Flex有优势,但是和成熟的Flash相比它现在还是Alpha、Beta。看到这里我不得不想刎ͼFlex和Flash在下一个版本的Flash IDE中,肯定是要融合在一起了Q就是不在一起也是要能够很好的相互协作,虽然现在CS3出来了,但是q是没有很好的看C们的协作QBridge也只能算一个浏览器。协作方面微软已l抢在前面了QAdobe要加把劲了?/p>
真希望下一ơ看到Adobe的Y件工作方式是QFlash中编辑的矢量囑Ş可以在Illustrator中编辑完成后又放回FlashQPSD囄在Flash中可以直接发送给Photoshop~辑Q编辑后可以直接更新Flash中的PSDQAS直接qFlexQ或是FlashQ来搞定QAE也一样在一起随意工作,我们只需要轻ȝ按钮可以在不同的Y件中做他擅长的事情,最后在FlashQFlexQ中输出swf?/p>