Silverlight 2 概述
Microsoft Silverlight 2 是一个跨浏览器、跨平台的插件,可通过 Web 提供各种带有视频、动画、交互功能和精美用户界面的应用程序。在大多数浏览器中,Silverlight 2 应用程序在基于 Microsoft Windows 的计算机和 Apple Macintosh 计算机上的外观和行为相同,而且没有任何额外的安装要求。
Silverlight 2 使用 XAML 来提供统一的呈现模型。在安装有 Service Pack 1 的 Microsoft Expression Blend 2 中,可以迅速为 Silverlight 2 应用程序设计精美的用户界面并测试相应的效果。
可在 Silverlight 2 中执行哪些任务?
了解使用 Silverlight 2 所能创建的内容的最佳方式是查看示例应用程序。Expression Blend 2 Service Pack 1 中含带 Silverlight 2 项目示例。您可以单击“帮助”菜单上的“欢迎屏幕”,然后从“示例”选项卡上单击以下示例之一在美工板上将其打开:
内存
ImageGallery
此外,您还可以在 Silverlight 展示(此链接可能指向英文页面)和 Silverlight 库(此链接可能指向英文页面)中查找其他联机示例。
返回页首
Expression Blend 2 中的 Silverlight 2 支持
您可以在安装有 Service Pack 1 的 Expression Blend 2 中创建并处理 Silverlight 2 项目。
Silverlight 2 可以支持众多与 Windows Presentation Foundation (WPF) 通用的功能,这些功能是不受 Silverlight 1 支持的。例如,可以使用更多的版式面板及控件(如“Button”和“TextBox”控件)。
说明: |
---|
Silverlight 2 项目中不支持三维对象、动态资源、外部资源字典、XML 数据源以及元素到元素的数据绑定。虽然不支持触发器,但是名为“States”的功能可以提供类似的功能。 |
工作区
当 Silverlight 2 项目处于打开状态时,Expression Blend 用户界面仅显示适用于 Silverlight 2 的控件、属性和工具。例如,“工具箱”和“资源库”中不会显示不受支持的控件。
控件
若要设计 Silverlight 2 应用程序的用户界面,请将控件和其他元素添加到 Silverlight 2 项目中的 XAML 文档(通常是 Page.xaml)中。在 Expression Blend 中,“资源库”的“控件”选项卡列出了 Silverlight 2 运行时中提供的控件。
有关如何向项目添加控件的信息,请参阅在 Silverlight 2 项目中绘制控件。有关如何向“资源库”添加更多控件的信息,请参阅通过添加引用来导入自定义控件。
资源
静态资源和模板是受支持的。这意味着,您可以为控件创建可重用的颜色、画笔和外观。动态资源则不受支持。有关资源和模板的详细信息,请参阅修改不同状态的系统控件的外观和在 Silverlight 2 项目中创建控件的外观。
状态
控件的外观可能因其所处的状态而异。例如,将鼠标指针移到按钮上方时,按钮的颜色会略有改变。"“MouseOver”是按钮的状态之一。
您可以自定义不同状态的任何系统控件或任何导入的自定义 Silverlight 2 控件的外观。前者是 Expression Blend 随附的,而后者是从“Control”类继承的。您可以在控件模板的副本中修改这些控件的状态。有关详细信息,请参阅修改不同状态的系统控件的外观。
状态过渡所需的时长也可以自定义。有关详细信息,请参阅修改系统控件状态改变的过渡时间。
您不能为用户控件(从“UserControl”类继承的控件)创建模板,但可以从头设计用户控件并添加自定义状态来进行自定义。有关详细信息,请参阅在 Silverlight 2 项目中创建新用户控件和定义用户控件的可视状态和过渡时间。
媒体
Silverlight 2 项目中支持媒体文件。在打开的 XAML 文档中插入媒体文件时,将会创建“MediaElement”对象以显示该媒体文件。“MediaElement”对象包括“AutoPlay”属性。该属性可以设置为“True”,以便该对象一加载到应用程序中便立即开始播放该媒体文件。“MediaElement”还包含与下载进度和缓冲有关的事件。这些事件可在“属性”面板的“事件” 视图中进行访问。有关如何挂钩到事件的详细信息,请参阅创建新的事件处理程序方法。
数据
公共语言运行时 (CLR) 数据源受到支持,但 XML 数据源及元素到元素的数据绑定不受支持。
代码隐藏文件
XAML 文档的代码隐藏文件是用 C# 或 Visual Basic .NET 编写的。有关在 Silverlight 2 应用程序中使用代码隐藏文件的示例,请参阅将新页面以动态方式加载到 Silverlight 2 应用程序中。
返回页首
跨产品支持
您可以按照下列方式来利用其他产品处理 Silverlight 2 项目:
从安装有 Service Pack 1 的 Microsoft Expression Encoder 2 中导入 Silverlight 2 项目和编码模板。有关详细信息,请参阅自定义用于 Silverlight 2 的 Expression Encoder 模板。
使用 Microsoft Expression Web 2 或 Microsoft Visual Studio 2008 的部署功能发布 Silverlight 2 应用程序。还可将已编译的应用程序文件复制到 Web 文件夹中。有关详细信息,请参阅将 Silverlight 2 应用程序添加到网站。
通过在 Visual Studio 2008 中打开 Silverlight 2 项目对其进行调试。
返回页首
Silverlight 2 项目中的文件
创建基于 Silverlight 2 应用程序的项目,并在 Visual Studio 2008 的“添加 Silverlight 应用程序”对话框中选择“动态生成 HTML 测试页以承载此项目中的 Silverlight”选项时,Expression Blend 会创建一组与 Microsoft Visual Studio 2008 相同的文件。
以下文件是在您创建 Silverlight 2 项目时生成的。
文件 |
描述 |
---|---|
ProjectName.sln |
Visual Studio 解决方案文件,用于指定解决方案的配置设置,并引用该解决方案中的所有项目。 |
ProjectName.csproj 或 ProjectName.vbproj |
项目文件,用于指定项目的配置设置(包括启动网页),并引用该项目中的所有源文件。 |
App.xaml |
定义应用程序级资源的文件。例如,如果自定义按钮模板并选择在应用程序级别进行定义,则项目中的所有文档均可使用该模板来设置按钮的样式。 |
App.xaml.cs 或 App.xaml.vb |
App.xaml 文件的代码隐藏文件。 |
Page.xaml |
默认的 XAML 文件,从中可以开始设计 Silverlight 2 应用程序的用户界面。 |
Page.xaml.cs 或 Page.xaml.vb |
相应内容文件的代码隐藏文件。用户交互和应用程序行为通常是在代码隐藏文件中编程的。 |
AppManifest.xml |
定义 Silverlight 2 应用程序中包含的程序集。例如,使用安装有 Service Pack 1 的 Expression Blend 2 创建的 Silverlight 2 项目将在程序集文件 (ProjectName.dll) 中构建 Silverlight 2 应用程序。因此,AppManifest.xml 至少总会列出由其所在的项目创建的程序集。 |
AssemblyInfo.cs 或 AssemblyInfo.vb |
定义应用程序的属性,如版本号、描述和已加载的程序集等。 |
提示: |
---|
最常用的文件是 Page.xaml。您可以在该文件中设计 Silverlight 2 应用程序的用户界面。其他可以修改的文件有 App.xaml 文件以及其他任何可添加到项目中的内容文件 (.xaml)。 |
生成并测试 Silverlight 2 项目时,将在 \bin\debug 文件夹中创建以下文件,而且 Expression Blend 将尝试打开启动网页。
文件 |
描述 |
---|---|
AppManifest.xaml |
AppManifest.xml 文件的 Silverlight 2 版本。 |
Default.html 或 TestPage.html(如果项目是用 Visual Studio 2008 创建的) |
将 Silverlight 2 应用程序(包含在 ProjectName.xap 中)加载到浏览器中的网页。 |
ProjectName.dll |
应用程序的已编译程序集,该应用程序是在项目的内容文件中设计的。 |
ProjectName.pdb |
应用程序的调试信息。 |
ProjectName.xap |
已压缩的存档内容,其中包括 Silverlight 2 应用程序的所有内容和资源。用户将该文件下载到各自的浏览器中,然后使用 Silverlight 2 插件来运行。 |
引用
程序集引用列在 Expression Blend 的“项目”面板中的“文件”之下。
创建新项目时,系统将会为您添加对 Silverlight 2 程序集的默认引用。“Button”和“TextBox”等控件是在这些引用的程序集中定义的。您可以根据需要添加其他的 Silverlight 2 程序集引用。此外,您还可以添加对 .dll 文件的引用,这些文件是通过其他 Silverlight 2 项目编译的。有关详细信息,请参阅通过添加引用来导入自定义控件。
返回页首
学习资源
在下面的网站中,可以了解有关如何创建 Silverlight 应用程序的更多信息:
Silverlight 学习中心(此链接可能指向英文页面)
Silverlight 2 快速入门(此链接可能指向英文页面)
返回页首