Partilhar via


Soma: Silverlight3 新功能

[原文地址]:Silverlight 3 | Silverlight3 新功能

[原文发表时间]:Wednesday, April 29, 2009 7:37 PM

昨天,我宣布了Silverlight 3和Expression Blend的发布候选版本发布的消息。

Silverlight 3的新功能和改进包括:支持在浏览器外运行Silverlight应用程序, H.264/AAC/MP4媒体播放, GPU的支持,像素API包括像素着色器,三维透视, Silverlight的应用程序之间的本地信息通信,经过改进的业务对象框架,搜索引擎优化的支持和更好的文字的质量等。通过和不断创新的Visual Studio和Expression Blend相结合使用, Silverlight的3使得. NET的开发人员能够创建最前沿的富互联网应用程序和媒体体验。

今天,我想给大家深入介绍一下Silverlight 3的几个新功能。

三维透视

在Silverlight中对三维透视的支持允许开发者使用的2D内容创建的3D体验。三维透视也是一种更好地利用屏幕空间的好方法。让我们来看一个简单的图像浏览应用程序如何使用三维透视改善外观并更好地利用屏幕空间。不同于一次只显示一个影像,我们会展示一个全分辨率的主要图像和其他一些不同角度的透视的影像。

为了对图像进行三维投影,您需要设置图像的Projection 属性为PlaneProjection 。PlaneProjection提供的一套属性将使得元素被视如三维空间中的形状。将RotationY属性设为70即沿Y轴或叫垂直轴将对象旋转70度。这将使得经过旋转的元素看起来像是垂直于屏幕。下一步,我们要把这个元素往后并往右移,以腾出空间给其他的图像。为达到这一目的,我们要对GlobalOffsetX和GlobalOffsetZ属性进行设置。三维投影元素的输入和事件如预期般运作,所以经三维投影的DataGrid或文本框将具有普通控件完全相同的功能。我们将继续并添加其他4个图像和实施略有不同的角度透视转换以完成这个程序。通过设置不同的GlobalOffsetX属性值将把这些图像移动到左侧或右侧。

image

这就是最终的结果:

clip_image001

数据绑定的改进
ElementName绑定允许开发人员在XAML中将一个UIElement绑定到另一个上,而不需要写事件处理程序。在Silverlight 3的Binding类中有一个新的属性叫ElementName 。当ElementName被设置后,绑定引擎会使用指定的元素作为数据来源进行绑定。Path属性是指UIElement绑定的数据源的属性。如果ElementName指向DependencyProperty,绑定引擎会侦听DependencyProperty的变化并相应更新绑定。这里有一个XAML片段,展示了一个滑杆如何使用ElementName绑定来控制中央图像的不透明度:

image

上述XAML的显示以下界面。移动滑块改变蓝龙的图像从完全透明到完全不透明:

clip_image002

Out of Browser支持Silverlight 3的Out of Browser支持使开发人员能够创建在浏览器之内或者之外都能运行的Silverlight的应用程序。为了使我们的应用程序能在浏览器外运行,需要修改应用程序的AppManifest.xml文件。在Visual Studio中,此文件位于Solution explorer中属性节点之下。在AppManifest.xml ,添加如下:

image

当您运行该应用程序,您会发现一个右键菜单会多一个新的选项里面写着“安装我的Silverlight的应用程序到这台计算机... ”在下方的图片,注意右键菜单的左下角:

clip_image003

单击该菜单选项后,您会得到一个安装此应用到你的机器的选项。浏览器外的应用看起来就像这样:

clip_image004

现在您可以关闭浏览器版本的应用程序而运行浏览器外的应用程序版本。如果您打开“开始”菜单,您可以找到一个启动浏览器外的应用程序版本的快捷方式。即使在没有网络连接的情况下,您也可以启动应用程序。
这些是Silverlight 3的部分新功能。你可以在这里找到更多的资料。