Silverlight 2 Beta 2崭新亮相

Silverlight 2 Beta 2崭新亮相,第1张

概述         Silverlight 2 Beta 2发布 早就知道Silverlight 2 Beta 2要在本周末发布。昨晚没有等到。今天一早终于等到了。          Microsoft Silverlight Tools Beta 2 for Visual Studio 2008 Expression Blend 2.5 June Preview Deep Zoom Compose

         Silverlight 2 Beta 2发布 早就知道Silverlight 2 Beta 2要在本周末发布。昨晚没有等到。今天一早终于等到了。

         Microsoft Silverlight Tools Beta 2 for Visual Studio 2008 Expression Blend 2.5 June PrevIEw Deep Zoom Composer 另外,很多重要的控件开发商,也在逐步推出Silverlight 2的控件了 ComponentOne Studio® for Silverlight Pre-release AgDataGrID Suite for Silverlight AgDataGrID是免费的,有源代码的哦,不过现在还下载不到。 DevExpress出品的控件,我之前用过,确实很好用;其实C1的我也用过,各有千秋。以后我会两个都试用一下。

        下面是一些新特性:

        UI Framework: Beta 2 includes improvements in animation support,error handling and reporting,automation and accessibility support,keyboard input support,and general performance. This release also provIDes more compatibility between Silverlight and WPF.

       UI框架的加强:Beta 2 包含在动画支持、错误处理和报表,自动化和易访问性方面的支持、键盘输入的支持和常用性能方面都有所提高。这个版本也提供了在Silverlight和WPF之间更好的兼容性。

        Rich Controls: Beta 2 includes a new templating model called Visual State Manager that allows for easIEr templating for controls. Other features include the introduction of a TabControl,text wrapPing and scrollbars for TextBox.  DataGrID additions include autosize,Reorder,Sort,performance increases and more. Most controls are Now in the runtime instead of packaged with the application.

          丰富的控件:Beta 2包含了新的称为视觉状态管理器(Visual State Manager)的模板化模型,允许对控件进行更容易的模板化。也包含了其他的一些控件和特性:如TabControl、TextBox的文本折行和滚动条支持。DataGrID额外添加了autosize、Reorder、Sort、性能提高等等。很多控件现在已经加入到运行时的程序集了,而不是和应用程序打包在一起了。

           Networking Support: Beta 2 includes improved Cross Domain support and security enhancements,upload support for WebClIEnt,and duplex communications (“push” from server to Silverlight clIEnt).

          网络支持:Beta 2包含了对跨域支持的加强和安全方面的加强,WebClIEnt支持上传和双向同学(以及从服务器“推”数据到Silverlight客户端)

          Rich Base Class library: Beta 2 includes improved threading abilitIEs,liNQ-to-JsON,ADO.NET Data Services support,better support for SOAP and other improvements to make networking and data handling easIEr.

           丰富的基类库:Beta 2包含了线程功能的增强,liNQ to JsOn、ADO.NET Data Services的支持,对SOAP更好的支持,以及让网络和数据处理更容易的其他增强。

           Deep Zoom: Beta 2 introduces a new XML-based file format for Deep Zoom image tiles as well as a new MultiScaleTileSource that enables existing tile databases to utilize Deep Zoom. Better,event driven notification for zoom/pan state is another improvement in Silverlight 2 Beta 2.

           Deep Zoom更好的支持:Beta 2引入了针对Deep Zoom图像块的基于XML的文件格式,以及一个新的MultiScaleTileSource对象来实现把现存的图片块数据库转换为Deep Zoom。针对缩放更好的,事件驱动的提醒是Silvelight 2 Beta 2中的有一个增强。

            Silverlight 2 Beta 2功能透露 WPF框架兼容性增强

            大幅改善的WPF兼容性 新版本对WPF界面框架的支持是众多开发者喜欢Silverlight的重要原因之一。Silverlight 2中的WPF UI框架与.NET基础类库均分别是WPF与.NET基础类库的一个兼容的子集,因此开发人员可以轻松地将Sil show_ads_zone(13); 想让界面开发变得更轻松吗? Skin++将助你一臂之力, 提高您的开发效率与界面效果。金旭亮.NET系列之七天学会.NET绘图力求用最短的时间使您掌握最有用的技能 形成在.NET平台上开发软件全过程的感性认识《.NET编程语言与面向对象理论基础》在最短的时间内介绍.NET面向对象编程的精髓 为学员进一步学习.NET其他技术领域打下良好的基础 .NET静态网页技术是Web用户界面设计师主要关注的领域 是动态网页设计技术领域必要的知识与技术基础【CSDN 6月6日 付江】

           国外开发者博客消息,根据在Tech Ed大会上的公告,Silverlight 2的第二个测试版本将会在未来的一周内发布,这个时间刚好与MIX08大会上透露的信息一致(Beta 1 版本发布的一个季度后新测试版就能与大家见面,刚好是这周)。Silverlight 2 Beta 2将会增加很多新功能,开发者透露了其中一些非常有趣的新细节。

           •    跨域访问到Socket网络支持的改进,Beta 2 改进了跨域名支持和安全性,WebClIEnt 的上传支持。

           •    WCF双向通信。有开发者已经研究了这个特性,不仅仅将它应用在chat-type 程序开发上,驱动将通信机制转移到业务应用上。

           •    textwrapPing in textBox

           •    专门的Tap控制器。很多应用程序将会用到这个功能,对内置控件是个很好的补充。

           •    Deep Zoom - Beta 2 引入了一种新的基于 XML 的文件格式的 Deep Zoom 图片功能。

           •    大幅改善的WPF兼容性。新版本对WPF界面框架的支持是众多开发者喜欢Silverlight的重要原因之一。即使用户的 *** 作系统中并没有安装.NET框架,但只要安装了大小为4MB左右的Silverlight 2 Beta1(或Beta 2)安装包后,就可以成功运行使用.NET开发的Silverlight应用程序。Silverlight 2中的WPF UI框架与.NET基础类库均分别是WPF与.NET基础类库的一个兼容的子集,因此开发人员可以轻松地将Silverlight应用程序转换成桌面. NET应用程序。这对于广大开发者来说是一个重要卖点:一个团队,两个平台,一种主流技术的整合开发。此外,Silverlight 2的新测试版本还会加强对可视化开发管理的控制,在liNQ to JsON,ADO.NET数据服务功能也会重大更新。新技术将会在北京奥运会和DNC网上在线直播中采用到。随同Silverlight 2 Beta 2同时发布的还有Expression Blend 2.5和新版本的Deep Zoom Composer。这是个值得期待的夏天,更多的新功能将会逐渐与大家见面。下载:Silverlight 2 Beta 2(4.66MB)相关产品更新:

         ·  Deep Zoom Composer (4.4MB) 

         ·  Microsoft Expression Blend 2.5 June 2008 PrevIEw (32.4MB)

         ·  Microsoft Silverlight 2 Software Development Kit (56.1MB)

         ·  Microsoft Silverlight Tools for Visual Studio 2008 (84.3 MB) Microsoft Silverlight Tools Beta 2 for Visual Studio 2008 于 2008年6月6日发布,下载地址(大小为84.3 MB,含Silverlight 2 Beta 2 Runtime 和the Silverlight 2 Beta 2 SDK)为: http://download.microsoft.com/download/1/d/d/1dd9ba72-9023-42f8-8ddf-abbd2f87649c/silverlight_chainer.exe   Silverlight 2 for windows 运行时下载地址: http://silverlight.dlservice.microsoft.com/download/8/B/A/8BA7FCB0-832B-47A9-9786-08FDF3822879/Silverlight.2.0.exe Microsoft Silverlight 2 SDK Beta 2下载地址(大小56.1 MB): http://download.microsoft.com/download/b/4/a/b4a5b488-751b-430c-8ee3-4cc2e0959c54/silverlight_sdk.exe 重要提示:

安装之前建议先阅读这篇文章,这篇文章介绍了几种安装方法 http://weblogs.asp.net/bradleyb/archive/2008/06/06/upgrading-to-silverlight-beta-2-and-visual-studio-2008-sp1-beta.aspx

 安装注意事项:

 ·  必须安装 Visual Studio 2008 标准版及其以上版本。 Visual Studio 2008 安装时必须勾选 Visual Web Developer。

 ·  要卸载以前版本 Silverlight 相关的所有东西。 ·          

  如果先前已经安装了 Silverlight Tools Beta 1,必须在安装 Visual Studio 2008 SP1 Beta 之前卸载 KB949325 。  

Silverlight  2 Beta 2功能列表:

 特性 Silverlight 1.0 Silverlight 2 Beta 2 2D Vector Animation/Graphics AJAX Support Cross-browser (firefox,IE,Safari) Cross-Platform (windows,Mac) Framework Languages  (Visual Basic,Visual C#,IronRuby,Ironpython) - HTML DOM Integration http Networking Isolated Storage - JavaScript Support JsON,REST,SOAP/WS-*,POX,and RSS Web Services (as well as support for Sockets) - ADO.NET Data Services - Cross Domain Network Access - liNQ to Objects - Canvas Layout Support StackPanel,GrID and Panel Layout Support - Managed Control Framework - Full suite of Controls (TextBox,Radiobutton,SlIDer,Calendar,DatePicker,DataGrID,ListBox,TabControl,and others) - Deep Zoom Technology - Managed HTML BrIDge - Managed Exception Handling - Media – Content Protection - Media – 720P High DeFinition (HD) VIDeo Media – Audio/VIDeo Support (VC-1,WMV,  WMA,MP3) Media – Image Support  (JPG,PNG) Media Markers Rich Core Framework (e.g. Generics,     collections) - Security Enforcement - Silverlight ASP.NET Controls     (asp:media,asp:xaml) Type Safety Verification - windows Media Server Support XAML Parser (based on WPF) XMLReader/Writer -  

 Silverlight 2 Beta 2 新特性详解原文:

 http://adoguy.com/2008/06/06/Usi ... light_2_Beta_2.aspxGet Started: http://silverlight.net/getstartedScott Gu: http://weblogs.asp.net/scottgu/a ... beta2-released.aspx

框架上的变动SDK 控件 Vs Plugin(插件) 控件对于我最大的改变莫过于将原来在 System.windows.Controls.dll中的控件转移到 System.windows.dll中。这样.xap文件的大小将会变小。在Silverlight2 beta 1中Hello World程序的 .xap文件大小是230K. 在Beta 2中则只有4K.微软将越来越多的控件和功能添加插件安装文件中,导致了Runtime的大小从4M变大到4.5MIsolated Storage 大小默认大小从Beta 1中的1K变大到1MB.取消 Event Bubbling(事件响应)在Beta1和之前的版本中,Event Bubbling不能取消. silverlight框架允许你将事件标记为处理过,但是实际上并不能停止。在Beta2中,当你把事件标记为处理过,他将不会通过 render tree(渲染树) 传播1voID nested_MouseEnter(object sender,MouseEventArgs e)2{3  // Cancels the bubbling4  e.Handled = true;5}Silverlight.JsSilverlight.Js 脚本变化了并且在Beta2 SDK中更新了,所以当你在需要部署Beta 2程序时请记得替换掉原来的Js来确保兼容性.DataBindingFrameworkElement 类 (Silverlight中大多数显示元素的基类) 现在支持 BindingValIDationError 事件,此事件在不能正确绑定到two-way(双向绑定)时触发. 对之支持的是,绑定现在支持通过设置 NotifyOnValIDationError 和ValIDatesOnExceptions 属性来打开验证错误提示.Code-only Storyboards你可以在代码中创建 Storyboards来给渲染树中的元素添加动画,而再也不需要添加到渲染树中去了。这样允许你只需在代码中给(和 内嵌的动画)添加StoryboardsCascading PropertIEs(装饰属性)Beta 2 移除了Control类中的一些重要属性,这样会允许你确定UsesControl上设定这些属性并间接设定了子控件的默认属性,这些属性包括:   1.     Foreground 2.     FontFamily 3.     FontSize 如果你在UserControl(或者其他基于控件的父控件)中,他的子控件将"继承"这些属性,例如: 引用: <UserControl x:Class="SilverlightApplication5.Page"xmlns=""xmlns:x=""Foreground="Blue"FontSize="24">  <GrID x:name="LayoutRoot">    <TextBox Text="Hello" />  </GrID></UserControl> XamlReader and namescopes使用 XamlReader 来在运行时生成动态 XAML 总会为XAML产生一个新的namescope的副效应,在Beta 2中,你可以有选择的创建一个namescope如果你对namescope不熟悉,下面的Blog可以帮到你http://nerddawg.blogspot.com/200 ... in-silverlight.HTML控件上的变动TemplateParts如果你已经在你的应用程序中使用了 ControlTemplates,一些模板 (尤其是 TextBox) 有一点变动. 这意味着你需要重命名一些TemplateParts 查看你原来使用 TemplateParts 的地方,不幸的是编译器不会检查错误需要手动更改@R_502_998@在Beta 2,Microsoft 介绍了一个新概念来处理事件和用户交互,例如,当用户鼠标hovers over(晃过)控件时,控件得到焦点.在Beta 2之前,你可以为 Storyboards 定义 TemplateParts,但是这样对于设计器来说,在创建一个控件时很难。对于 @R_502_998@ 有视觉状态组,每个都可以有自己的时间段和其他属性。 在Blend中就会容易许多详见: http://weblogs.asp.net/scottgu/a ... beta2-released.aspx新控件: TabControl注: 笔者之前也写过一个TabControl 看来用不上了,改天跟大家分享源码了 Multiline TextBox可以通过AcceptsReturn 和textwrapPing 属性来设置WatermarkedTextBox 移除了不过在Silverlight2 Beta 1源码中已经包含了,有兴趣也可以自己把源码抽出来使用Extended ControlSystem.windows.Controls.Extended.dll 仍然存在而且包含了一些重要控件:    * Calendar    * DatePicker    * GrIDSplitter    * TabControl如果要是用这些控件需要引入System.windows.Controls.Extended.dll到XAML中,而不再包含在默认的命名空间下。 tooltiptooltips 不再能在控件属性中直接设置,你必须要使用tooltipService . 例如:<button tooltipService.tooltip="This is tooltip text"/>DeepZoom有一个新的DeepZoom Composer工具, 在Beta2之前会产生一个图像的集合还有一个包含了关于这些图像元数据的.bin文件. 在Beta2中,这个文件现在是一个xml文件(叫.dzi).DeepZoom的详解: http://www.cnblogs.com/zhouyinhui/archive/2008/04/14/1153371.HTMLDataGrIDDataGrID 在不断的成熟中包含了许多新特性像列排序,行排序和其他更多的控件模板。你所正在使用的DataGrID可能需要重新编码了。。。Networking 上的变化Web ServiceWeb Services 现在支持 cross-domain 服务请求 (使用 cross-domain policy 文件). WCF 服务现在支持duplex services(双重服务,但是basichttpBinding 仍然是唯一的受支持的绑定.ADO.NET Data ServicesADO.NET Data Services (别名 Astoria) 将支持 Silverlight. 注意使用此项服务你需要.NET 3.5 SP1 (beta) 和 Visual Studio 2008 SP1 (beta)来编写可以支持这项功能的服务端 ADO.NET Data Services,但是客户端已经包含在Beta2中了.  注意现在这种方式下所有的请求都是异步的.Web Request Exception现在异常将在访问Result时触发,这样你就可以使用try,catch来处理这些可能出现的异常了ServiceReference.clIEntconfigWeb Services 调用将会包含在 ServiceReference's.clIEntconfig中 (自动生成).如果你要改掉服务绑定和其他参数,现在可以在.clIEntconfig中干了在 Cross Domain Policy 中的头文件支持cross domains现在都明确禁止了头文件,除非他们在cross domain header policy中标明支持了SocketsSokcets 现在可以连接到任何启用了domain policy 文件的服务器。除此之外,端口的范围也扩大了来启用更多的通信机制。工具上的变动Silverlight linkage介于ASP.NET 项目和 silverlight 项目的链接现在允许你确定制定的生成目录这样你可以可以有两个版本的 .xap文件(例如: DeBUG和Release). 除此之外,"Add Silverlight link..."选项将被移除。你可以在 ASP.NET项目属性中的Silverlight选项卡中添加Silverlight项目."Add Service Reference..."原来的集合类型DataContract现在变成了 ObservableCollection<>.BlendBlend 2 六月的预览版包括了一些新特性:   1.     ControlTemplate 编辑支持 2.     @R_502_998@ 支持 3.     设计器中新 的Breadcrumb 导航 4.     启用 "Make button" 功能 (选择一些项并用这些项创建button控件). 5.     嵌入字体支持. 在Silverlight 2 RTM 发布之前肯定还有很多改进空间,在微软的公开发布之外,还有其他一些还没有包含进来:   1.     Progressbar 2.     ComboBox 3.     更好的 WCF 支持控件模板编辑支持WPF和Silverlight编程模型最强大的一个功能是其完全定制控件的观感的能力,这允许开发人员和设计师以微妙和戏剧性的方式对控件的UI进行精雕细琢,促成巨大的灵活性。我曾在这里的Silverlight控件模板博客贴子里对这些概念讨论过。这个星期的Expression Blend 2.5六月份预览版现在对控件模板编辑加了设计器支持,将方便你快速地改变任何控件的外观,而不必再屈尊去修改XAML源码。要看控件模板编辑的实战例子的话,在Expression Blend设计表面上拖放2个SlIDer控件: 我们也许会判定默认的SlIDer控件模板的滑块对我们的应用来说太大,太宽了。要用控件模板编辑功能来改变它的话,我们可以在设计器上右击其中一个 slIDer,选择“编辑控件部件”上下文菜单项。我们可以给我们的SlIDer选择创建一个空白的控件模板(从头做起),也可以编辑内置控件模板的拷贝(然后对之细调):在我们选择编辑现有的控件模板的拷贝之后,Blend会提示我们创建并命名一个可重用的样式资源,我们将在其中定义我们的控件模板。命名完之后,我们可以选择将样式保存在应用级(在App.xaml中)或在当前页面/用户控件中:在点击OK之后,我们会发现转到了SlIDer控件的模板编辑模式之下,我们可以改变,细调,添加/去除SlIDer控件模板中的任何底层元素。注意下面,在模板编辑模式中,我们可以看到和选择组成SlIDer控件模板的任何底层元素(这些元素在下面的“Objects”窗口中用红笔圈了出来)。想把滑块做得窄一点的话,我们可以选择控件模板中的“HorizontalThumb”元素,调整它的宽度(在界面里或通过属性网格): 然后,我们可以使用设计器顶部的breadcrumb导航条回到我们的页面,看控件模板的变动实施后的效果:注意,目前只有一个SlIDer控件使用了刚定义的控件模板的新样式资源。要把同样的样式资源用到另外一个Silder控件上,我们可以选择该控件,右击,然后使用“Apply Resource(应用资源)”上下文菜单,把“ScottSlIDer”样式用到该控件上: 之后,2个SlIDer将引用同个样式:以后对“ScottSlIDer”样式做的任何改变将会自动应用到这2个控件之上。注意,在Silverlight 2中发布的所有控件都支持控件模板,在Expression Blend中都支持上面那样的编辑体验。Visual State Manager (VSM-视觉状态管理器) 之支持Silverlight 和 WPF中的控件模板支持对控件的“look(外观)”,以及控件的“feel(感觉)”的定制。“feel”之谓,我指的是改变它交互的响应性。例如,在按下时,得到焦点时,失去焦点时,处于按下的状态时,处于不可用(Disabled)状态时,内中有东西被选中时。。。,它是如何反应的。经常地,在用户象这样与控件做交互时,你要执行动画效果。我们在Silverlight 2 Beta2中引进的一个新东西是"Visual State Manager(视觉状态管理器)" (VSM),该功能将极大地方便你建造交互性的控件模板。VSM引入了你可在控件模板中利用的2个基本概念:"视觉状态(Visual States)" 和 "状态迁移(State Transitions)"。例如,象按钮这样的控件为自己定义了多个视觉状态: "normal(正常)","MouSEOver(鼠标之下)","pressed(按下)","Disabled(不可用)","Focused(获取焦点)","Unfocused(不具焦点)"。在Blend中的模板编辑模式下,设计师现在可以轻松地编辑按钮在每个特定状态下的外观,以及设置迁移规则来控制从一个状态迁移到另一个状态时动画效果应该运行的时间。然后在运行时,Silverlight会动态地运行合适的动画故事板来把控件从一个状态平滑地过渡到另一个状态。这个模型很棒的地方是,设计师不用编写代码,不用手工创建动画故事板,也不用理解控件的对象模型就可以非常有效率。这使得学习创建交互性控件模板的曲线非常容易,意味着现有的美工可以轻松地参与Silverlight项目。今年稍后,我们还将往WPF中添加"Visual State Manager(视觉状态管理器)" (VSM)的支持,让你在windows应用中使用同样的方法,以及在 WPF 和 Silverlight 项目间共享控件模板。要看这个的实战例子,让我们往设计表面上加一个button控件:然后,我们可以右击按钮控件,编辑它的控件模板。我们将不从现有的默认控件模板开始(就象上面的SlIDer例子一样),让我们创建一个空白的控件模板,从头做起:Blend会提示我们给要创建的样式(Style)资源取一个名字,我们将它取名为“Scottbutton”,点击OK。这会把设计器置于按钮的控件编辑模式下,一开始只有一个空白的控件模板:上面有一样需要注意的东西是,在Blend中有一个新的“States(状态)”窗口,这个窗口会显示button控件提供的所有的“Visual States(视觉状态)”。在上面,当前被选中的是“Base(基底)”状态,该状态允许我们定义我们的按钮控件模板常用的视觉树。然后,我们可以往我们的基底状态中加一些矢量元素,来定义象下面这样的定制按钮的外观。我们可以使用由Blend提供的内置矢量绘制工具支持来设计这些图形,或者使用Expression Design 或 Adobe Illustrator来建造矢量图形,然后将其导入Blend中。下面,我们在我们的控件模板中加了4个“Path”元素,一个是带圆角的背景(其名为 “background”),另一个带阴影(drop shadow)(其名为“shadow”),还有一个是带40%蔽光性的“shine”(在顶部加了一些晕光),再有一个定义了默认的内部内容(在这个情形下,是个房子的图案):注:我们也可以导入一个图片,但使用矢量元素会给予我们以后对按钮进行扩缩/转换,在任意分辨率或尺度上保持清晰观感的灵活性(特别是在 Silverlight移动设备的场景下,屏幕的分辨率大不相同或较小时,尤其有用),还允许我们对美工设计中的任何矢量元素可以轻易地做动画效果或改动。完成设计上面的基底状态之后,我们可以按F5在浏览器中运行应用:你可以在上面看到,我们的按钮控件现在拥有一个比较好看的外观。尽管它有了一个新的外观,但按钮依然象以前那样触发同样的焦点,点击,和悬浮事件,所以,使用按钮的开发人员在 *** 作使用了我们的新控件模板的按钮时,不用改动任何代码。但我们的新按钮控件模板的一个缺点是,它并不是交互的。这意味着,如果按钮获得/失去焦点,或者鼠标悬浮其上时,我得不到任何视觉反馈。点击时,我也得不到很好的按下/d起的动画效果。要将交互性加到我们的按钮上,我们将回到Blend中,再次 *** 作我们按钮的控件模板。之前我们把矢量图形元素加到了我们按钮的“Base(基底)”状态中,这允许我们定义所有视觉状态的默认视觉外观。我们现在将回去,进一步定制个别的按钮视觉状态。例如,为实现按钮的mouse-over行为,我们可以在“States”窗口中选择“MouSEOver”状态,然后细调按钮处于该状态时的外观。在下面,我选了控件模板中的“shine”矢量元素,调整它在属性网格中的Opacity属性,使其在MouSEOver状态下可见度更高。注意Blend是如何在对象窗口中,自动使用红点加亮“shine”元素,然后在该元素的下面列出了Opacity属性的。这可以便利很快地跟踪我们在控件模板中在 “Base(基底)”状态和“MouSEOver”状态间所做的所有变动:然后,我们可以在“States”窗口中选择“pressed”状态,定制按钮处于按下状态时的外观。我们将改变“Base(基底)”状态的2样东西,第一个变动是使得“shine”元素可见(就象MouSEOver状态一样),第二个变动是稍微偏移按钮控件的内容,同时保持影子元素不动。这会给予按钮一个很好看的“depressed(按下)”外观,与它的基底视觉形成很好的反差:我们可以这样来实现偏移变动: 在设计器中选择background,content和shine元素,然后在属性浏览器中对它们施加一个偏移显示转换(offset render transform):现在,在浏览器中再次运行我们的应用的话,我们会发现我们的按钮在使用时有交互的视觉反馈了。下面是我们按钮的“normal(正常)”外观:将鼠标悬浮于按钮之上,会造成象下面这样的发光效果:点击按钮会导致它按下去,隐藏影子(在松开鼠标按钮时,它会d回来):注意,我们不用编写任何代码或XAML来改变我们按钮的观感,新的视觉状态管理器功能会自动地为我们处理视觉状态间的过渡。在默认情形下,在你从一个视觉状态移动到另一个视觉状态时,Silverlight会动态地为你构建和运行过渡Storyboard(提供了2个状态间的平滑过渡动画效果),你不需编写任何代码就可以让这一切发生(注:如果你想的话,你还是能降低层次(drop down),加一个定制的Storyboard过渡,但在大多数情形下,你大概可以使用自动的Storyboard过渡)。Silverlight的自动过渡功能中你可以利用的一个特性是,定制视觉状态过渡发生所花的时间,你可以这么做,点击视觉状态右边的箭头,设置一个规则来控制当从一个特定状态移到另一个状态时,过渡动画效果应该运行的时间。例如,我们可以加如下的规则来表示,我们要它花0.2秒钟的时间来从"normal"过渡到"MouSEOver"视觉状态:然后,我们可以象这样来配置这个规则,在normal->MouSEOver间过渡时花0.2秒钟:然后,我们可以点击"MouSEOver"状态,设置一个规则,导致从MouSEOver->normal的过渡花0.4秒钟:现在,当我们重新运行应用时,对MouSEOver场景,我们将有一个慢了一点的动画过渡,给我们的应用添加了一种稍微更加平滑和更为精致的感觉。我们不用编写一行代码就可以促成这个效果。 随Silverlight 2发布的所有控件都有对象上面这样的控件模板和视觉状态管理器之定制的内置支持。想进一步了解新的视觉状态管理器和控件模板编辑功能的话,请看一下 这里 和 这里的教程,以及这里,这里 和 这里的相关录像。

总结

以上是内存溢出为你收集整理的Silverlight 2 Beta 2崭新亮相全部内容,希望文章能够帮你解决Silverlight 2 Beta 2崭新亮相所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1055209.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存