Silverlight 3 新特性
Silverlight 3 包含以下新特性:
1 在线按需的720p+的流媒体播放支持:提供了一个叫做IIS Media Pack的IIS插件。它可以让Silverlight监测用户的带宽和CPU状态,然后让IIS自适应的传递合适码率的视频
2 更多的多媒体格式的支持:除了支持原来VC-1/WMA,Silverlight 3增加了对基于MPEG-4格式的H.264/AAC音频格式的支持。而且Silverlight 3将支持第三方的解码器。视频和音频可以在运行时外解码,然后在Silverlight 3中呈现出来
3 全面支持3D, 大家现在不需要第三方的开发包来实现Silverlight的3D效果了。
图1 全面支持3D
4 像素着色效果:内在支持模糊化和投影效果
图2 支持模糊化
图3 投影效果
5 全新的位图API:这个全新的API可能让我们更加方便的操作位图的每个像素。这也就为开发网络图片编辑器带来可能
6 支持GPU加速
7 动画效果:支持多种动画效果,比如Spring,Bounce,Elastic等等
图4 支持动画效果
以上是支持高质量的视频和音频的新特性,下面介绍一些用于提高RIA吸引力的。
1 Silverlight 3将会提供有100+的控件以及其源代码
2 内置的导航机制,支持深度链接。
图5 支持深度链接 内容导航
3 支持SEO:这样以后用Silverlight做网络应用,就不用担心由于SEO的问题,导致搜索引擎搜索不到降低网站的知名度了。
4 增强的数据绑定支持:支持类似WPF的Element-To-Element绑定。如下面的代码就是直接把Image的Width绑定给了TextBlock作为其Text。
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
<StackPanel>
<Image x:Name="image" Source="win7_login.jpg" Width="400">
<Image.Projection>
<PlaneProjection RotationX="0" RotationY="-30" RotationZ="0"/>
</Image.Projection>
<Image.Effect>
<DropShadowEffect BlurRadius="5" ShadowDepth="10" Opacity="0.8"/>
</Image.Effect>
</Image>
<TextBlock Text="{Binding ElementName=image, Path=Width}">
</StackPanel>
5 DataForm控件:支持显示,编辑更新数据,并提供验证和分页功能(分页功能是由DataPager来实现的)。如下面的一段示范代码用来显示某公司的员工信息:
给这个DataForm定义了HeaderTemplate,DisplayTemplate,EditTemplate。
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
<form:DataForm x:Name="PeopleForm" AutoGenerateFields="False">
<form:DataForm.HeaderTemplate>
<DataTemplate>
<TextBlock Text="员工详细信息"/>
</DataTemplate>
</form:DataForm.HeaderTemplate>
<form:DataForm.DisplayTemplate> <DataTemplate> <Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="姓名:"/>
<TextBlock Grid.Row="1" Grid.Column="0" Text="邮箱:"/>
<TextBlock Grid.Row="2" Grid.Column="0" Text="性别:"/>
<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Name}"/>
<TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding Email}"/>
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding Gender}"/>
</Grid>
</DataTemplate>
</form:DataForm.DisplayTemplate>
<form:DataForm.EditTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="姓名:"/>
<TextBlock Grid.Row="1" Grid.Column="0" Text="邮箱:"/>
<TextBlock Grid.Row="2" Grid.Column="0" Text="性别:"/>
<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Name}"/>
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding Email}"/>
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding Gender}"/>
</Grid>
</DataTemplate>
</form:DataForm.EditTemplate>
</form:DataForm>
效果图如下:
图6 图7 效果图
6 提供离线功能:支持在离线的状态下桌面上安装并运行网络应用程序
图8 选择程序
选择将你的程序安装到电脑后,会弹出界面让你选择
图9 确认安装
图10 Silverlight 3 程序弹出
综述:
Silverlight 3在媒体和图形支持上相对Silverlight 2有了非常大的进步。此外其引入的Navigation框架和支持SEO,支持数据验证等功能使得Silverlight 3更加的适合用于开发企业级应用程序(LOB)。