从Sliverlight Alpha(May2007)到Sliverlight Alpha Refresh之间变化
从Sliverlight Alpha(May2007)到Sliverlight Alpha Refresh之间变化
本文档提供一个在Silverlight从beta版和同时发布的1.1Alpha版到现在的一些变化,增进和新特性的清单,除此之外,本文档提供特别变化清单,这个清单是你需要考虑在2007年五月版之后创建的Sliverlight程序怎样和现在的Sliverlight Alpha refresh release版相一致.
概要:
· Silverlight Enhancements (Silverlight的增加)
· Breaking Changes (Silverlight的突出改变)
· Remove "javascript:" in event handlers(删除Silverlight中的"javascript:"的事件依赖)
· Remove "Sys." (删除Silverlight中的"SYS.")
· Use the latest Silverlight.js (使用最新的Silverlight.js)
· Replace Version Property in Plug-in with isVersionSupported method (在插件的isVersionSupported方法替代Version的属性
)
· Change enableHtmlAccess: true to enableHtmlAccess: "true"(改变 enableHtmlAccess:ture 为enableHtmlAccess:"ture")
· Unmanaged Event Handler Syntax(Silverlight的脱管事件处理的语法)
· All Downloads are now Asynchronous (Silverlight的所有下载都是异步的)
· Glyph element FontURI is Resolved Asynchronously (Silverlight中字型元素FontURL异步调用)
· Remove Visibility.Hidden (删除Visibility中的hidden值)
· Extra check on ASX Tags Resulting in MediaFailed Event (在MediaFailed 事件中会对照ASX标签的结果)
· New Parser Error on Invalid Double Values like "Auto" (新的编译错误的废出类似于"AUTO"的值)
· Elements in <*.Resource> blocks must be named (元素在<*.Resource>必须被命名)
· The MediaElement Position property value can be greater than the MediaElement NaturalDuration property value (MediaElement 的位置属性值也许比起MediaElement NaturalDuration属性值要更好些
)
· Additional Animation Run-Time Errors (添加动画运行环境错误)
· Can No Longer Use ’\’ in URIs (不用再使用在 URIs中使用"\")
· All Shaped Transform Members are now of Type Transform instead of TransformGroup (所有的形成成员类型转换现在的是用Transform替换TransformGroup)
· Remove IsFilled Property (删除IsFilled属性)
Silverlight Enhancements
新的"root"属性是.Content,授权使用根节点的XAML DOM,这样的改变是真正的只与非托管代码有关,而托管代码得到根节点是是非常容易的,因为任意的code-behind文件的根节点是"this".
而新的标签UIELement,授权用户存储每一个Sliverlight UIElement.
新的MediaElement APIs 是为在一个多音轨文件中选择不同的音频流,请看AudionStreamCount和AudioStreamIndex属性.
改进media 的性能:为Video 解码优化结合指令,
在Media脚本命令编码在操作Video流时,将触发MediaElement的MakerRreached事件.
二 Breaking Changes
在下列清单内容是在Sliverlight在1.1Alpha(May 2007)版中的突出变化,如果你已经创建基于1.1Alpha(May 2007)版程序,请你按照下列清单上的方针来更新你的程序.
1:删除"Sys"
在你使用你的Script初试化代码,从调用主机的html页面时的JavaScript命名空间中删除"Sys",
2:使用最新的Silverlight.js
请确定你使用最新的Siverlight.js提供在你的应用程序中,少数的改变已经知道本文件中,本插件的名称已经从"WPf/e"改名为"Sliverlight",这个插件已经引用Silverlight.js文件,系统会探测到,还模仿插件的类型是由appliaction/ag-plugin改变成appliaction/x-silverlight,最后就是删除你的"sys"命名空间,确定所有的"Sys"实例都是在你的程序中被摘出.
版本问题:参数是通过CreateObject或CreateObjectEx传递,使用字符"1.1"为Sliverlight1.1 Alpha比代替以前版本好很多.
3:在插件的isVersionSupported方法替代Version的属性
本改变是删除版本属性转而使用在插件改变时候添加一个新的方法isVersionSupported(它仍然有一个初始化参数,它仅不没有提供Silverlight插件对象模型),本方法带一个版本字符(eg."1.0","1.1")和一个返回boolean包括插件是否与请求的版本是一致.
5:改变 enableHtmlAccess:ture 为enableHtmlAccess:"ture"
添加引号在enableHtmlAccess的值.
三:对象模型的巨大变化.
1:非托管事件操作方法
不同的变化造成不同的非托管事件处理方法,包括执行非"javaScript:"前缀.和还有在Silverlight对象模型事件和对象模型事件添加操作者的变化,请看Silverlight 1.0 RC SDK.的文挡.
2:所有下载都是即时异步的
由于要在所有平台都保持同步下载是非常困难的,我们已经删除downloader API新特性,因而我们已经删除在下载打开时的第三个参数,以后就不需要这个参数,你必须更新打开调用删除本参数.
3:字型原素FontURI是被改成异步
当进程XAML的字体指明字型FontUri属性被下载拆分成异步.本意是文本显示时经字型元素将与字体一次性下载显示,其他内容则是在之后显示.
当使用FontUri时在1.0和1.1Alpha是非事件的为字型下载进程,工作机理是你使用Downloader对象先是请求字体文件(和当他下载的时候Downloader的进程事件就会知道).
一次性Downloader已经在下载字体时你能创建一个字型元素使用FontUri指定精确同一个URI,在字体下载它将不被再次下载和字型元素几乎一瞬间就回发再次下载.
注意:这的确定一个假定字体下载,被浏览器重新在缓存起来(没有保证在这个期间用户或浏览器被指明)和当字型元素被追加下载时同一文件仍然可以再获得字型文件.
4:删除Visbility.Hidden
为减少表面区域,我们从产品中删除Visbility.Hidden,在之前改变Visbility.Hidden行为同Visbilty.Collapsed相似,这是更改本功能的出发点是,Silverlight行为是要很接近WPF的Visbility.Hidden所以在XAML的"hidden"与Script的"Collapsed"之间我们保持Collapsed,替换所有"hidden".
5:特别检索ASX标签结果是为MediaFailed事件
有一个可设置的ASX标签,我们之前忽略了它,我们现在关于一个MediaFailed事件的,有这些标签是:PREVIEWMODE, BANNERBAR, PARAM, REPEAT, STARTMARKER, ENDMARKER and some MOREINFO tags,即使一个REF URL错误打开,在同一个入口SL没有错误返回其他的REFs,替代它的是一个MediaFialed事件.
6:新的编译错误的废出类似于"AUTO"的值
我们报告及多编译错误数字,在程序将终止于开发者设置一个numeric属性的废除(invalid)值,在之前的编译二进制视为废除值为"0",当前编译一个二进制抛出一个错误,如下例:
在之前"Auto"是还没有提供的,在以前上面引起的原因是Width被设置为0,我们不能修改TextBlock的宽度,没有影响程序的行为,所以无论如何,都将在这里产生一个编译二进制错误.
7元素在<*.Resource>必须被命名
元素在<*.Resource>必须被命名,是指X:Name的属性所有<*.Resource>内容中都要有定义它.
8 MediaElement 的位置属性值也许比起MediaElement NaturalDuration属性值要更好些
这个将主要是被处发播放事件开始是返回到0的位置,但现在是返回播放时间,即使开发者创建传送控件应该知道和如果按需要剪切media.
9:额外的动画运行环境错误.
在当前的功能还没有提供构建一个严格的抛出环境错误,每个错误是:
(1) Storyboard.TargetProperty 必须本次所有动画开始时定义.
Storyboard.TargetName 必须本次所有动画开始时候指明每一个动画他们自己或指明父节点的影片区.
(2)当影片区被停止时可靠影片区/动画属性只能修改的是,这些Storyboard.TargetName和Storyboard.TargetProperty.
10:不用再使用在 URIs中使用"\"
我们的变化就为改善跨平台提供Sliverlight程序,所有的Web资源应该重新命名他们,如果你们以前包括"\"例如"./assets/images/bg.jpg" 替换".\assets\images\bg.jpg” .
11 :所有的形成成员类型转换现在的是用Transform替换TransformGroup
本变化是为让Silverlight和WPF更一致,比如brush的关系Transform.toString()返回的Transform比他TransformGroup更好.
12:删除IsFilled属性
我们不再为PathFigure提供IsFilled属性,开发者将它在应用程序删除
本文档提供一个在Silverlight从beta版和同时发布的1.1Alpha版到现在的一些变化,增进和新特性的清单,除此之外,本文档提供特别变化清单,这个清单是你需要考虑在2007年五月版之后创建的Sliverlight程序怎样和现在的Sliverlight Alpha refresh release版相一致.
概要:
· Silverlight Enhancements (Silverlight的增加)
· Breaking Changes (Silverlight的突出改变)
· Remove "javascript:" in event handlers(删除Silverlight中的"javascript:"的事件依赖)
· Remove "Sys." (删除Silverlight中的"SYS.")
· Use the latest Silverlight.js (使用最新的Silverlight.js)
· Replace Version Property in Plug-in with isVersionSupported method (在插件的isVersionSupported方法替代Version的属性
)
· Change enableHtmlAccess: true to enableHtmlAccess: "true"(改变 enableHtmlAccess:ture 为enableHtmlAccess:"ture")
· Unmanaged Event Handler Syntax(Silverlight的脱管事件处理的语法)
· All Downloads are now Asynchronous (Silverlight的所有下载都是异步的)
· Glyph element FontURI is Resolved Asynchronously (Silverlight中字型元素FontURL异步调用)
· Remove Visibility.Hidden (删除Visibility中的hidden值)
· Extra check on ASX Tags Resulting in MediaFailed Event (在MediaFailed 事件中会对照ASX标签的结果)
· New Parser Error on Invalid Double Values like "Auto" (新的编译错误的废出类似于"AUTO"的值)
· Elements in <*.Resource> blocks must be named (元素在<*.Resource>必须被命名)
· The MediaElement Position property value can be greater than the MediaElement NaturalDuration property value (MediaElement 的位置属性值也许比起MediaElement NaturalDuration属性值要更好些
)
· Additional Animation Run-Time Errors (添加动画运行环境错误)
· Can No Longer Use ’\’ in URIs (不用再使用在 URIs中使用"\")
· All Shaped Transform Members are now of Type Transform instead of TransformGroup (所有的形成成员类型转换现在的是用Transform替换TransformGroup)
· Remove IsFilled Property (删除IsFilled属性)
Silverlight Enhancements
新的"root"属性是.Content,授权使用根节点的XAML DOM,这样的改变是真正的只与非托管代码有关,而托管代码得到根节点是是非常容易的,因为任意的code-behind文件的根节点是"this".
而新的标签UIELement,授权用户存储每一个Sliverlight UIElement.
新的MediaElement APIs 是为在一个多音轨文件中选择不同的音频流,请看AudionStreamCount和AudioStreamIndex属性.
改进media 的性能:为Video 解码优化结合指令,
在Media脚本命令编码在操作Video流时,将触发MediaElement的MakerRreached事件.
二 Breaking Changes
在下列清单内容是在Sliverlight在1.1Alpha(May 2007)版中的突出变化,如果你已经创建基于1.1Alpha(May 2007)版程序,请你按照下列清单上的方针来更新你的程序.
1:删除"Sys"
在你使用你的Script初试化代码,从调用主机的html页面时的JavaScript命名空间中删除"Sys",
JavaScript
Sys.Silverlight.createObject(.)
变成:Sys.Silverlight.createObject(.)
JavaScript
Silverlight.createObject(.)
Silverlight.createObject(.)
2:使用最新的Silverlight.js
请确定你使用最新的Siverlight.js提供在你的应用程序中,少数的改变已经知道本文件中,本插件的名称已经从"WPf/e"改名为"Sliverlight",这个插件已经引用Silverlight.js文件,系统会探测到,还模仿插件的类型是由appliaction/ag-plugin改变成appliaction/x-silverlight,最后就是删除你的"sys"命名空间,确定所有的"Sys"实例都是在你的程序中被摘出.
版本问题:参数是通过CreateObject或CreateObjectEx传递,使用字符"1.1"为Sliverlight1.1 Alpha比代替以前版本好很多.
3:在插件的isVersionSupported方法替代Version的属性
本改变是删除版本属性转而使用在插件改变时候添加一个新的方法isVersionSupported(它仍然有一个初始化参数,它仅不没有提供Silverlight插件对象模型),本方法带一个版本字符(eg."1.0","1.1")和一个返回boolean包括插件是否与请求的版本是一致.
5:改变 enableHtmlAccess:ture 为enableHtmlAccess:"ture"
添加引号在enableHtmlAccess的值.
JavaScript
enableHtmlAccess: true
变成enableHtmlAccess: true
JavaScript
enableHtmlAccess: "true"
enableHtmlAccess: "true"
三:对象模型的巨大变化.
1:非托管事件操作方法
不同的变化造成不同的非托管事件处理方法,包括执行非"javaScript:"前缀.和还有在Silverlight对象模型事件和对象模型事件添加操作者的变化,请看Silverlight 1.0 RC SDK.的文挡.
2:所有下载都是即时异步的
由于要在所有平台都保持同步下载是非常困难的,我们已经删除downloader API新特性,因而我们已经删除在下载打开时的第三个参数,以后就不需要这个参数,你必须更新打开调用删除本参数.
3:字型原素FontURI是被改成异步
当进程XAML的字体指明字型FontUri属性被下载拆分成异步.本意是文本显示时经字型元素将与字体一次性下载显示,其他内容则是在之后显示.
当使用FontUri时在1.0和1.1Alpha是非事件的为字型下载进程,工作机理是你使用Downloader对象先是请求字体文件(和当他下载的时候Downloader的进程事件就会知道).
一次性Downloader已经在下载字体时你能创建一个字型元素使用FontUri指定精确同一个URI,在字体下载它将不被再次下载和字型元素几乎一瞬间就回发再次下载.
注意:这的确定一个假定字体下载,被浏览器重新在缓存起来(没有保证在这个期间用户或浏览器被指明)和当字型元素被追加下载时同一文件仍然可以再获得字型文件.
4:删除Visbility.Hidden
为减少表面区域,我们从产品中删除Visbility.Hidden,在之前改变Visbility.Hidden行为同Visbilty.Collapsed相似,这是更改本功能的出发点是,Silverlight行为是要很接近WPF的Visbility.Hidden所以在XAML的"hidden"与Script的"Collapsed"之间我们保持Collapsed,替换所有"hidden".
5:特别检索ASX标签结果是为MediaFailed事件
有一个可设置的ASX标签,我们之前忽略了它,我们现在关于一个MediaFailed事件的,有这些标签是:PREVIEWMODE, BANNERBAR, PARAM, REPEAT, STARTMARKER, ENDMARKER and some MOREINFO tags,即使一个REF URL错误打开,在同一个入口SL没有错误返回其他的REFs,替代它的是一个MediaFialed事件.
6:新的编译错误的废出类似于"AUTO"的值
我们报告及多编译错误数字,在程序将终止于开发者设置一个numeric属性的废除(invalid)值,在之前的编译二进制视为废除值为"0",当前编译一个二进制抛出一个错误,如下例:
XAML
<TextBlock Width="Auto" Text="Created By:" />
<TextBlock Width="Auto" Text="Created By:" />
在之前"Auto"是还没有提供的,在以前上面引起的原因是Width被设置为0,我们不能修改TextBlock的宽度,没有影响程序的行为,所以无论如何,都将在这里产生一个编译二进制错误.
7元素在<*.Resource>必须被命名
元素在<*.Resource>必须被命名,是指X:Name的属性所有<*.Resource>内容中都要有定义它.
XAML
<Canvas.Resources>
<Storyboard>
<!-- Content here -->
</Storyboard>
</Canvas.Resources>
现在<Canvas.Resources>
<Storyboard>
<!-- Content here -->
</Storyboard>
</Canvas.Resources>
XAML
<Canvas.Resources>
<Storyboard x:Name="name">
<!-- Content here -->
</Storyboard>
</Canvas.Resources>
<Canvas.Resources>
<Storyboard x:Name="name">
<!-- Content here -->
</Storyboard>
</Canvas.Resources>
8 MediaElement 的位置属性值也许比起MediaElement NaturalDuration属性值要更好些
这个将主要是被处发播放事件开始是返回到0的位置,但现在是返回播放时间,即使开发者创建传送控件应该知道和如果按需要剪切media.
9:额外的动画运行环境错误.
在当前的功能还没有提供构建一个严格的抛出环境错误,每个错误是:
(1) Storyboard.TargetProperty 必须本次所有动画开始时定义.
Storyboard.TargetName 必须本次所有动画开始时候指明每一个动画他们自己或指明父节点的影片区.
(2)当影片区被停止时可靠影片区/动画属性只能修改的是,这些Storyboard.TargetName和Storyboard.TargetProperty.
10:不用再使用在 URIs中使用"\"
我们的变化就为改善跨平台提供Sliverlight程序,所有的Web资源应该重新命名他们,如果你们以前包括"\"例如"./assets/images/bg.jpg" 替换".\assets\images\bg.jpg” .
11 :所有的形成成员类型转换现在的是用Transform替换TransformGroup
本变化是为让Silverlight和WPF更一致,比如brush的关系Transform.toString()返回的Transform比他TransformGroup更好.
12:删除IsFilled属性
我们不再为PathFigure提供IsFilled属性,开发者将它在应用程序删除