现在的位置: 首页 > 综合 > 正文

Silverlight 3 新特性

2012年12月23日 ⁄ 综合 ⁄ 共 4574字 ⁄ 字号 评论关闭

Silverlight 是一种新的 Web 呈现技术,能在各种平台上运行。借助该技术,您将拥有内容丰富、视觉效果绚丽的交互式体验,而且,无论是在浏览器内、在多个设备上还是在桌面操作系统(如 Apple Macintosh)中,您都可以获得这种体验。Microsoft .NET Framework 3.0(Windows 编程基础结构)中的呈现技术 XAML(可扩展应用程序标记语言)遵循 WPF (Windows Presentation Foundation),它是 Silverlight 呈现功能的基础。

  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效果了。

Silverlight3影音支持新特性

图1 全面支持3D

  4  像素着色效果:内在支持模糊化和投影效果

Silverlight3影音支持新特性 

图2 支持模糊化

 Silverlight3影音支持新特性

图3 投影效果

  5  全新的位图API:这个全新的API可能让我们更加方便的操作位图的每个像素。这也就为开发网络图片编辑器带来可能

  6  支持GPU加速

  7  动画效果:支持多种动画效果,比如Spring,Bounce,Elastic等等

Silverlight3影音支持新特性

图4 支持动画效果

  以上是支持高质量的视频和音频的新特性,下面介绍一些用于提高RIA吸引力的。

  1  Silverlight 3将会提供有100+的控件以及其源代码

  2  内置的导航机制,支持深度链接。 

Silverlight3影音支持新特性

图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>

  效果图如下:

Silverlight3影音支持新特性

Silverlight3影音支持新特性

图6 图7  效果图

  6  提供离线功能:支持在离线的状态下桌面上安装并运行网络应用程序

Silverlight3影音支持新特性

图8 选择程序

  选择将你的程序安装到电脑后,会弹出界面让你选择

Silverlight3影音支持新特性

图9 确认安装

Silverlight3影音支持新特性

图10 Silverlight 3 程序弹出

  综述:

  Silverlight 3在媒体和图形支持上相对Silverlight 2有了非常大的进步。此外其引入的Navigation框架和支持SEO,支持数据验证等功能使得Silverlight 3更加的适合用于开发企业级应用程序(LOB)。

抱歉!评论已关闭.