深入了解Silverlight:从版本特性到开发实践
立即解锁
发布时间: 2025-08-25 00:27:10 阅读量: 4 订阅数: 14 


Silverlight 4企业级应用开发入门
### 深入了解Silverlight:从版本特性到开发实践
#### 1. Silverlight 3与4的特性概览
Silverlight 3引入了关键的数据集成能力,便于开发数据驱动的应用程序。而Silverlight 4则更专注于业务线(LoB)数据驱动的富互联网应用(RIA)开发,具备如打印、文档集成、报告、丰富的离线功能和本地设备集成等核心功能。
##### 1.1 Silverlight 3的特性
- **数据操作XAML控件**:新增了多选择ListBox控件、用于分页显示数据的DataPager控件和支持动态字段生成、字段布局、验证和数据分页的DataForm控件。增强的DataGrid控件支持分组和验证,还有新的数据验证控件如DescriptionViewer、ErrorSummary和FieldLabel可自动检查用户输入的有效性。
- **内容XAML控件**:像ChildWindow和ViewBox等控件有助于在Silverlight应用程序中更有效地管理内容显示。
- **用户界面框架改进**:包括元素到元素绑定功能、基于样式的动态样式更改、支持高对比度情况的CaretBrush和系统颜色访问,以及允许用户在RIA中为页面添加书签的深度链接功能。
- **搜索引擎优化(SEO)**:通过使用业务对象、ASP.NET控件和服务器端站点地图,可将数据库驱动的RIA内容自动镜像到HTML中,便于主流搜索引擎索引。
##### 1.2 Silverlight 4的增强特性
| 特性分类 | 具体特性 |
| --- | --- |
| **LoB RIA特性** | 内容打印功能、右键上下文菜单、拖放和复制粘贴功能、新控件(RichTextBox、WebBrowser和WebBrowserBrush)、现有控件增强(DataGrid、TextBlock等)、增强的数据绑定、改进的本地化能力、通知窗口、全屏模式下的键盘访问和鼠标滚轮支持、与网络摄像头和麦克风的集成、受信任的浏览器外应用程序 |
| **媒体相关特性** | 离线Silverlight数字版权管理(DRM)、音频和视频客户端录制能力 |
| **平台和组件增强** | 对Google Chrome浏览器的官方支持、隐式主题/样式、多播UDP网络、WCF RIA服务、整体性能优化、Visual Studio 2010支持、Windows Phone开发工具支持 |
#### 2. Silverlight开发工具
开发Silverlight应用程序,Microsoft提供了一系列设计和开发工具,涵盖了从代码编写到界面设计、原型制作以及媒体处理等多个方面。
##### 2.1 Visual Studio
Visual Studio 2010支持基于.NET 4和3.5的Silverlight 4和Silverlight 3 RIA开发,而Visual Studio 2008 SP1仅支持Silverlight 3开发。开发Silverlight 4应用程序必须使用Visual Studio 2010,并安装相应的Silverlight Tools for Visual Studio。此外,还可集成Silverlight Toolkit和WCF RIA Services。
- **Silverlight Toolkit**:提供额外的Silverlight控件、相关源代码和主题,支持Visual Studio 2010和.NET 4.0,可从http://silverlight.codeplex.com/ 下载。
- **WCF RIA Services**:用于实现安全的数据访问,提供框架和与Visual Studio 2010 Silverlight项目的集成能力,详情可访问http://silverlight.net/getstarted/riaservices 。
##### 2.2 Expression Blend
Microsoft Expression Blend是Microsoft Expression Studio的一部分,与Visual Studio紧密集成,允许艺术家和设计师为Silverlight应用程序创建丰富的基于XAML的用户界面。Expression Blend 4 RC for .NET 4.0在Expression Blend 3的基础上,增加了与Visual Studio 2010、.NET Framework 4.0和Silverlight 4的集成能力。
##### 2.3 SketchFlow
用于快速原型制作,可将基于SketchFlow的Silverlight和WPF原型扩展为常规项目,在Expression Blend和Visual Studio中继续开发。可从www.microsoft.com/expression/ 安装。
##### 2.4 Expression Encoder
包含Silverlight Media Player模板,用于创作、管理和发布VC - 1或H.264编码的媒体内容。可从www.microsoft.com/expression/ 安装。
##### 2.5 Deep Zoom Composer
允许专业人员创建和准备图像,以在Silverlight应用程序中实现高分辨率图像缩放和平移功能。可从www.microsoft.com/downloads/ 搜索下载。
##### 2.6 Eclipse Tools for Silverlight (eclipse4SL)
可使用Eclipse开源和跨平台开发平台开发Silverlight应用程序,通过访问www.eclipse.org/esl/ 安装。
#### 3. 创建Silverlight 4应用程序
以下是创建Silverlight 4应用程序的基本步骤:
```mermaid
graph LR
A[打开Visual Studio 2010] --> B[创建新的Silverlight Application项目]
B --> C[设置项目名称和路径]
C --> D[选择是否创建ASP.NET网站/应用程序项目]
D --> E[点击OK,创建项目]
E --> F[构建应用程序,生成XAP文件]
F --> G[复制XAP文件到ClientBin文件夹]
G --> H[启动开发服务器或部署到IIS]
H --> I{IIS版本}
I -- IIS 6 --> J[添加新的MIME类型]
I -- IIS 7 --> K[无需额外操作]
```
- **启动项目**:打开Visual Studio 2010,创建一个名为FirstApplication的新Silverlight Application项目,路径为C:\Users\<user name>\Documents\Books\Accelerated Silverlight 4\Source\Chapter 1\Project1\。
- **选择宿主项目**:点击OK后,选择是否创建一个新的ASP.NET网站/应用程序项目来承载Silverlight应用程序。对于简单演示项目,可不选择“Enable WCF RIA Services”选项。
- **构建和部署**:构建应用程序后,Silverlight应用程序将被打包成XAP文件,并自动复制到网站的ClientBin文件夹中。若在IIS 6中部署,需添加新的MIME类型(文件扩展名:.xap,MIME类型:application/x - silverlight - app);IIS 7则无需额外操作。
#### 4. 使用Expression Blend
Expression Blend 4 RC可用于布局用户界面控件和创建动画。可以从Visual Studio直接打开当前的Silverlight项目,也可单独启动Expression Blend并打开Visual Studio创建的解决方案文件。
- **项目管理和属性设置**:Expression Blend的左侧窗格用于管理项目文件、触发器和事件以及用户控件或控件模板的视觉状态;右侧窗格用于设置各种用户界面元素的属性、资源和支持样本数据集成。
- **工具使用**:左侧的工具箱提供布局和输入控件以及修改用户界面的工具。对象和时间轴区域可用于创建和管理动画故事板,同时显示XAML中的对象层次结构。
通过以上对Silverlight版本特性和开发工具的介绍,以及创建应用程序和使用Expression Blend的操作说明,希望能帮助开发者更好地了解和使用Silverlight进行应用程序开发。后续我们将进一步探讨如何利用这些特性和工具开发出更强大、更丰富的Silverlight应用。
### 深入了解Silverlight:从版本特性到开发实践
#### 5. Silverlight 4新特性的优势分析
Silverlight 4在多个方面的特性升级,为开发者和企业带来了显著的优势。
##### 5.1 业务线应用优势
- **打印功能**:新的打印API使开发者能够创建默认或自定义的可视化打印视图,可与本地安装的打印机集成,也能保存为XPS、PDF文件。这对于需要生成报表、文档的业务线应用来说,极大地提升了实用性。
- **右键上下文菜单**:作为默认功能,为Silverlight RIA带来了类似桌面应用的用户体验,用户操作更加便捷。
- **拖放和复制粘贴**:实现了本地文件和数据与Silverlight RIA的无缝集成,方便用户在应用中处理本地信息,提高了工作效率。
##### 5.2 数据处理优势
- **增强的数据绑定**:支持绑定到DependencyObject的属性,通过StringFormat进行字符串格式化,利用GroupDescription属性对项目进行分组,以及借助IDataErrorInfo和INotifyDataErrorInfo接口进行异步验证和错误管理,使数据处理更加灵活和高效。
- **控件增强**:DataGrid的排序、调整大小和复制粘贴行功能,TextBlock的新TextTrimming属性,以及ViewBox控件对布局的管理,都提升了应用的数据展示和交互能力。
##### 5.3 全球化和用户体验优势
- **本地化能力提升**:支持双向文本、从右到左的语言,新增30种语言,为开发全球Silverlight业务线RIA提供了有力支持。
- **通知窗口**:在Silverlight RIA以离线模式运行时,在客户端机器上提供基于任务栏的传统通知,提升了用户体验的一致性。
- **键盘和鼠标支持**:全屏模式下的键盘访问和鼠标滚轮支持的改进,显著提高了应用的可用性。
##### 5.4 多媒体和集成优势
- **摄像头和麦克风集成**:企业可以利用此功能实现交互式的企业和面向客户的应用,支持语音交互和视频会议,结合常规的数据驱动和以媒体为中心的功能,提供“一站式”解决方案。
- **受信任的浏览器外应用**:允许Silverlight应用在客户端机器的沙盒环境之外调用本地代码,实现了与COM应用(如Microsoft Office)和其他设备的集成,以及对“我的”文件夹的访问,拓展了应用的功能范围。
#### 6. 开发工具的协同使用
在开发Silverlight应用时,不同的开发工具可以协同工作,发挥各自的优势。
| 工具名称 | 主要功能 | 协同方式 |
| --- | --- | --- |
| Visual Studio | 代码编写、项目管理、调试 | 与Expression Blend集成,可在两者之间切换进行界面设计和代码编写;集成Silverlight Toolkit和WCF RIA Services,增强开发功能 |
| Expression Blend | 界面设计、动画创建 | 与Visual Studio紧密结合,设计师在Expression Blend中设计界面,开发者在Visual Studio中编写代码,共同完成项目开发 |
| SketchFlow | 快速原型制作 | 其原型可在Expression Blend和Visual Studio中扩展为常规项目,实现从概念到实际应用的转换 |
| Expression Encoder | 媒体内容创作和管理 | 为Silverlight应用提供VC - 1或H.264编码的媒体内容,与其他工具共同完善应用的多媒体功能 |
| Deep Zoom Composer | 高分辨率图像处理 | 处理后的图像可用于Silverlight应用中,与其他工具协同打造具有吸引力的界面 |
| Eclipse Tools for Silverlight (eclipse4SL) | 跨平台开发 | 与其他工具共同满足不同开发环境和需求,为开发者提供更多选择 |
#### 7. 开发过程中的注意事项
在使用Silverlight进行开发时,需要注意以下几点:
```mermaid
graph LR
A[开发环境选择] --> B{Silverlight版本}
B -- Silverlight 4 --> C[使用Visual Studio 2010]
B -- Silverlight 3 --> D[可使用Visual Studio 2008 SP1]
C --> E[安装Silverlight Tools for Visual Studio]
D --> E
E --> F[集成相关工具和服务]
F --> G[注意IIS部署设置]
G -- IIS 6 --> H[添加新的MIME类型]
G -- IIS 7 --> I[无需额外操作]
```
- **开发环境选择**:开发Silverlight 4应用必须使用Visual Studio 2010,而Silverlight 3应用可使用Visual Studio 2008 SP1。同时,要安装相应的Silverlight Tools for Visual Studio。
- **工具集成**:合理集成Silverlight Toolkit和WCF RIA Services,以增强开发功能。
- **IIS部署**:在IIS 6中部署Silverlight应用时,需要添加新的MIME类型(文件扩展名:.xap,MIME类型:application/x - silverlight - app),而IIS 7则无需额外操作。
- **版本兼容性**:不同版本的Silverlight和开发工具之间存在兼容性问题,开发过程中要确保各组件版本匹配。
#### 8. 总结与展望
Silverlight 4在数据处理、用户体验、多媒体集成等方面的特性升级,为开发者提供了更强大的开发能力,为企业开发业务线RIA提供了有力支持。通过Microsoft提供的一系列开发工具,开发者可以高效地进行界面设计、代码编写、原型制作和媒体处理等工作。
在未来,随着技术的不断发展,Silverlight可能会继续在跨平台、性能优化、安全等方面进行改进。开发者可以充分利用Silverlight的现有特性和工具,结合市场需求和业务场景,开发出更具创新性和竞争力的应用程序。同时,也需要关注行业动态和技术趋势,不断学习和掌握新的知识和技能,以适应不断变化的开发环境。
希望本文对Silverlight的介绍和分析,能帮助开发者更好地理解和应用这一技术,在实际开发中取得更好的成果。
0
0
复制全文
相关推荐





