这一次翻译的
文章标题使用的浅绿色,希望能帮助大家调节一下眼睛.同时翻译这篇
文章希望能对大家将Silverlight1.1的应用程序移植到Silverlight2.0能有帮助!
这片Msdn
文章中的目录顺序与
内容顺序有一点不同所以我就将
内容调整一下与目录相对应.这样感觉要好一点!
翻译上有什么不好之处请多指正.
谢谢关注!!
原文地址
Breaking Changes in Silverlight 2
这部分的主要是讨论Silverlight runtime和Silverlight tools在Microsoft Silverlight 1.1 Alpha September
refresh 和 MIX 2008 release之
间的变化.在
文章中我们将集中讨论在可能会引起你旧的Silverlight-based application
错误或新的发布的版本中的新特性/新
增加不同的表现部分.
(1)改进!移植旧版本的
代码到新版本
(2)更新Silverlight.js
(3)模版的更换
(4)Error
messages可能不可用.
(5)2-D API的变化
(7)新
功能支持httpWeb
request/
httpWebResponse
(8)PresentationFrameworkCollection<T> 的变化
(
9)Mouse 和 Keyboard API 的变化
(10)改变TextBlock 和 它的
Helper Classes
(11)XML DTD API 的变化和
默认XmlResolver
(12)XamlReader.Load() 需要xmlns
(13)托管的Font
source(downloader)签名被移出
(14)XmlResolver的变化
(15)Assembly 变化
(16)新做
一个Web
service Client Proxies
(17)WCF JSON
services 可以需要SOAP Endpoints(Endpoints 翻译版本太多)
(18)在Visual
studio,使用"Add
service Reference"替换"Add Web Reference"
(1
9)加载事件签名的变化
(20)托管的Downloader被移出
(21)Browser
httpWeb
request 被移出
(22)托管的MediaElement/Image.Set
source(downloader,part
Name)被移出
(
24)SETVALue的变化
(25)Miscellaneous API 的变化
(26)
添加Sy
stem.Net
.sockets Namespace
(1)改进!移植旧版本的代码到新版本
如果你要移植之前使用Microsoft Silverlight 1.1 Alpha September
refresh版创建的Silverlight应用程序或很容易来到Silverlight 2 Beta 1 (MIX 08) release,那下面就是推荐方式.
1.你要得到最新版Microsoft Silverlight 2 Tools for Visual
studio 2008.
2.你还能从SDK中得到这些工具或在线Get
Ting Started.在安装Silverlight 2之前要确定你已经卸载旧的工具.
3.创建
一个新的Silverilght应用程序.
4.拷贝所有
你的code/XAML进入
你的工程
5.Debug.有很多改变,这些改变你都可以在文档被找到.
注意:这些需要与assembly names/identities---Microsoft assemblies的identities已经有下面的改变:
--public key已经改变为一个新的Microsoft Silverlight key.
--版本号(assembly and file version
)已经改变为2.0.
因此你将需要更新您的assembly name/identity的使用.
(2)更新Silverlight.js
Silverlight.js
文件已经改变并且你需要为
你的应用程序更新.Silverlight.js旧的版本不能确保在客户端已经安装Silverlight 2 Beta 1.如果你编译
你的Silverlight应用程序的Silverlight.js
文件会被
自动更新.
(3)模版的更换
这里是关于更换Silverlight Visual
studio templates的讨论.如果你正在使用Visual
studio创建Silverlight应用程序,请确定你使用最新版本Microsoft Silverlight 2 Tools for Visual
studio 2008来创建应用程序.如果这样做,你将不用担心有关于新工程的改变问题.但是如果
你的现有应用程序已经使用旧的版本的VS Silverlight tools,你既可以使用最新的工具编译
你的应用程序也可以自己动手变更
你的工程.为人们在之后的遇到异常情形的改变概要在下面的部分:
1.
添加SilverlightApplication
属性.这个允许这个工程系统中区别Silverlight applications和Silverlight class librarie
s.
New |
<SilverlightApplication>true</SilverlightApplication>
- set to false for class library projects
|
2.对下面两个
属性进行
重命名:
Before/After |
<ZipOutputs> has been changed to <XapOutputs> <ZipFilename> has been changed to <XapFilename> |
现有工程文件,你可能手动编辑更改这些变化.
(4)Error messages 可能不可用.
Exception 信息mscorlib.dll不再装载在Silverlight runtime中.取代的是,他们装载在Silverlight Software Development Kit (SDK)中.这变化允许Silverlight runtime变得更为小.因为
它将不再保证
异常信息到达客户端,Silverlight开发者从不将
异常信息在
显示在客户端.
开发者依然能像过去一样继续使用
异常信息(捕获他们的try/catch的阻塞),但没有保证
异常信息到达客户端.如果资源不能调试,就会有
一个泛化的
错误显示:"An error occurred.".
(5)2-D API的变化
从Point结构中删除:
#
static bool Equals (Point point1,Point point2)
#
override Equals (ob
ject o)
#
override Equals (Point
value)
#
overrid
E int GetHashCode()
#
void Offset(double offsetX,double offsetY)
#
static explicit operator Size(Point po
int)
从Color结构中删除:
#
static Color FromScRgb(float a,float r,float g,float b)
#
static Color FromRgb(byte r,byte g,byte b)
#
static Color operator -(Color color1,Color color2)
#
static Color Subtract(Color color1,Color color2)
#
override
String To
String()
#
static bool AreClose(Color color1,Color color2)
#
void Clamp()
#
static bool Equals(Color color1,Color color2)
#
bool Equals(Color color)
#
float ScA
#
float ScR
#
float ScG
#
float ScB
#
float a,r,g,b;
#
byte a,b;
从Size结构中删除:
#
static Size Empty
{ get; }
#
bool IsEmpty
{ get; }
#
bool Equals (Size
value);
#
overrid
E int GetHashCode (
);
#
static explicit operator Point (Size siz
E);
从Matrix结构中删除:
#
static bool Equals (Matrix matrix1,Matrix matri
x2);
#
bool Equals (Matrix
value);
#
Vector Transform (Vector vector
);
从Rect结构中删除:
#
override
String To
String()
#
Rect(Point
LOCATIOn,Size siz
E);
#
Rect(Size siz
E);
#
Point
LOCATIOn
{ get; set; }
#
Size Size
{ get; set; }
#
double Left
{ get; }
#
double Top
{ get; }
#
double Right
{ get; }
#
double Bottom
{ get; }
#
Point TopLeft
{ get; }
#
Point TopRight
{ get; }
#
Point BottomLeft
{ get; }
#
Point BottomRight
{ get; }
#
bool Contains(double x,double y
);
#
bool Contains(Rect rect
);
#
bool IntersectsWith(Rect rect
);
#
static Rect Intersect(Rect rect1,Rect rect2
);
#
static Rect Union(Rect rect1,Rect rect2
);
#
static Rect Union(Rect rect,Point po
int);
#
void Offset(double offsetX,double offsetY
);
#
static Rect Offset(Rect rect,double offsetX,double offsetY
);
#
void Inflate(Size siz
E);
#
void Inflate(double width,double height
);
#
static Rect Inflate(Rect rect,Size siz
E);
#
static Rect Inflate(Rect rect,double width,double height
);
#
void Scale(double scaleX,double scaleY
);
#
static bool Equals (Rect rect1,Rect rect2
);
(7)新功能支持httpWebrequest/httpWebResponse
1.
支持http/
httpS 请求
2.
支持Web
services场景中的min-bar
a.GET/POST
方法
b.关于GET/POST请求:设置标准headers没有暗示.
c.关于GET/POST请求:设置
自定义 headers
d.关于响应:读取
内容类型
3.关于响应:得到OK或NotFound error
代码
4.为可靠的网络特性平衡浏览器堆(
Leverage browser stack for certain networking features)
a
.basic,digest,ntlm,& cookie基于身份验证的场景
b.代理探测,数据压缩,缓存.
5.只
支持同步请求且只
支持他们在UI线程下.
(8)PresentationFrameworkCollection<T> 的变化
所以当你使用Add(ob
ject)后放进IList中时PresentationFrameworkCollection<T> 现在使用隐式接口实现来实现IList,
Before |
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
collection.Add(myobject);
|
Now |
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
collection.Add ( (GradientStop) myobject);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png) or
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png) IList list
=
(IList) collection;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png) list.Add(myobject);
|
(9)Mouse 和 Keyboard API 的变化
你现在使用Key 枚举(KeyEventArg
s.Key property)代替
一个整数类型
KeyboardEventHandler/Args 现在是 KeyEventHandler/Args
@H_137_18
@mou
SELEftButtonDown and Mou
SELEftButtonUp时间现在的类型是MouseButtonEventHandler/Args(其他鼠标事件保留,没有变化).
访问修饰符键(
键盘的键)的状态(arg
s.Shift/Control,等)现在是
通过使用static Keyboard.Modifiers API,并且能在
键盘事件外使用.
@H_137_18
@mouseEventArg
s.Ctrl和MouseEventArg
s.Shift 已经被
删除.
cursors 枚举已经被转变成
一个cursors类并且
一个static
cursors类被多个
cursors(arrow,Hand)填充,这里特别是Canva
s.cursor=
cursor
s.Hand将继续被使用.
cursor
s.Default已经被替换为nul
l.但它的XAML保留没有改变,所以
cursor="Default"继续工作在XAML中.
这是
一个示例:
之前
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
canvas.MouSELEftButtonUp
+=
new
MouseEventHandler(onClick);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
void
onClick (
object
sender, MouseEventArgs E)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
Canvas cc = sender as Canvas;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
SolidColorBrush sb = new SolidColorBrush();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
sb.Color = Colors.Red;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
cc.BACkground = sb;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
Canvas.KeyUp
+=
new
KeyboardEventHandler(onKeyUp);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
Void onKeyUp(
object
sender, KeyboardEventArgs E)
@H_
944_652@
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
if (e.Key == 12) return;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
bool isShiftPressed = e.Shift;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
if (isShiftPressed) ![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
canvas.cursor = cursors.Default;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
现在
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
canvas.MouSELEftButtonDown
+=
new
MouseButtonEventHandler(onClick);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
void
OnClick(
object
sender, MouseButtonEventArgs E)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
Canvas cc = sender as Canvas;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
SolidColorBrush sb = new SolidColorBrush();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
sb.Color = Colors.Red;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
cc.BACkground = sb;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
Canvas.KeyUp
+=
new
KeyEventHandler(onKeyUp);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
@H_874_896@
Void onKeyUp(
object
sender, KeyEventArgs E)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
if (e.Key == Key.A) return;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
Bool isShiftPressed =
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
( ( Keyboard.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
if (isShiftPressed) ![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
canvas.cursor = null;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
(10)改变TextBlock 和 它的Helper Classes
TextBlock.FontFamily
属性已经从字符串类型转换成FontFamily类型.
之前
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
textblock.FontFamily
=
"
Arial
"
;
现在
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
textblock.FontFamily
=
new
FontFamily(
"
Arial
"
);
其他的变化:
FontWeights枚举已经已经转入FontWeight类并且
一个static FontWeights类由多个weights填充,这里特别的是textblock.FontWeight = FontWeights
.bold 仍然继续使用.
FontStyles枚举已经已经转入FontStyle类并且
一个static FontStyles类由多个Styles填充,这里特别的是textblock.FontStyle = FontStyle
s.Italic仍然继续使用.
FontStretches枚举已经已经转入FontStretche类并且
一个static FontStretches类由多个Stretches填充,这里特别的是textblock.FontStretch = FontStretche
s.Expanded 仍然继续使用.
TEXTDecorations枚举已经已经转入TextDecoration类并且
一个static FontStretches类由多个TextDecorations填充,这里特别的是textblock.TextDecoration = TextDecoration
S.Underline 仍然继续使用.
(11)XML DTD API 的变化和默认的XmlResolver
改变操作XML的API引入
支持DTD分解
功能更好的
支持新的XmlXapResolver和XmlPreloadedResolver.这样的改变将会进入所有受权
支持DTD
支持XmlReader的
代码都被.除这些外,XmlXapResolver已经
添加像
默认的为XmlReader样的resolver.
API 的改变
下面是当
一个被加载Xml
文件内容中有DTD时,API在操做DTD允许DTD被忽视的情况.
1.
添加XmlResolver 如果Uri能用type参数的实例来表示那public virtual bool SupportsType(Uri uri,Type typ
E)这个
方法返回类型为true.只有为Stream,基类的实现返回值才为true.
2.
添加DtdProcessing enumeration 当XmlReader遇到
一个DTD时DtdProcessing enumeration允许展开动作.这个枚举有下面值:Parse,Ignore,和Prohibit.
3.
删除XmlReaderSet
Ting
s.ProhibitDTD
属性 这个
属性是DtdProcessing
属性的补充.
4.
添加XmlReaderSet
Ting
s.DtdProcessing
属性 当DtdProcessing property 已经
添加遇到DTD时允许
有相应动作.
默认值为Prohibit时与变化之前有同样的行为.
之前
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
XmlReaderSetTings setTings
=
new
XmlReaderSetTings();
setTings.XmlResolver
=
resolver;setTings.ProhibitDtd
=
false
;XmlReader reader
=
XmlReader.Create(
"
fileInXap
"
, setTings);
现在
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
XmlReaderSetTings setTings
=
new
XmlReaderSetTings();
setTings.XmlResolver
=
resolver;setTings.DtdProcessing
=
DtdProcessing.Parse;XmlReader reader
=
XmlReader.Create(
"
fileInXap
"
, setTings);
or
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
XmlReaderSetTings setTings
=
new
XmlReaderSetTings();
setTings.XmlResolver
=
resolver;setTings.DtdProcessing
=
DtdProcessing.Ignore;XmlReader reader
=
XmlReader.Create(
"
fileInXap
"
, setTings);
(12)XamlReader.Load() 需要xmlns
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
XamlReader.Load(“
<
Canvas
/>
”);
现在
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
XamlReader.Load(
"
<Canvas xmlns=
"
http:
//
scheR_180_11845@as.microsoft.com/client/2007"/>");
为按照XML规则运行,XamlReader.Load()现在需要你在
你的XAML
文件中指定
一个xmln
s.
(13)托管的Fontsource(downloader)签名被移出
这个构造器在托管
代码中获得的是
一个downloader被
删除.现有的Font
source构造器获得的是
一个流.
你应该选择使用WebClient类下载font和使用WebClient提供的strea
m.
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
TextBlock tb = this.FindName("tb");
tb.Fontsource = new Fontsource(myDownloader);
现在
void webClient_OpenReadCoR_180_11845@pleted(object sender,OpenReadCoR_180_11845@pletedEventArgs E)
{
TextBlock tb = this.FindName("tb");
tb.Fontsource = new Fontsource(e.Result);
}
(14)XmlResolver的变化
默认的XmlResolver现在是XmlXapResolver,能从应用程序的XAP中加载
文件.允许从XAP中加载
一个Xml
文件不需要创建
一个XmlReader
Strings实例.
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
XmlReaderSetTings setTings
=
new
XmlReaderSetTings();
setTings.XmlResolver
=
resolver;XmlReader reader
=
XmlReader.Create(
"
fileInXap
"
, setTings);
orXmlReaderSetTings setTings
=
new
XmlReaderSetTings();
setTings.XmlResolver
=
resolver;
XmlReader reader
=
XmlReader.Create(
"
fileInXap
"
, setTings);
XDocument doc
=
XDocument.Load(reader);
现在
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
XmlReader reader
=
XmlReader.Create(
"
fileInXap
"
);orXDocument doc
=
XDocument.Load(
"
fileInXap
"
);
还有这个变化是,
1.XmlResolver已经
添加
2.XmlXapResolver:当引用
一个Xml
文件时这个resolver允许从
一个XAP
文件加载
内容.
XmlPreloadedResolver:这个Resolver
包括XHTML和
RSS DTDs,更好能
添加另外的DTDs进入预先加载到缓存.
(15)Assembly 变化
agclr.dll被
重命名为Sy
stem.Window.dl
l.
Sy
stem.Xm
l.Core.dll被
重命名为 Sy
stem.Xm
l.dll .
Sy
stem.Silverlight.dll 被
重命名为 Sy
stem.Windows
.browser.dl
l.
(16)新做一个Web service Client Proxies
给
用户的
一个为Silverlight 1.1 Alpha和Alpha
refresh pro
jects产生的Web
service client proxies将重新产生
一个为Silverlight的最新版本的proxie
s.因为Sy
stem.Windows
.browser.Net
.soap
httpClientProtocol类被ClientBase<T>取代,这个类是在Sy
stem.
serviceMode
l.dll中.
(17)WCF JSON services 可以需要SOAP Endpoints(Endpoints 翻译版本太多)
用户依赖于为他们的Silverlight1.1 Alpha和Alpha
refresh 工程的WCF ASP.NET AJAX("WCF JSON")
services,在最新版本的Silverlight版本中将
添加SOAP终端.
用户依赖于为他们的Silverlight1.1 Alpha和Alpha
refresh 工程的".asmx" ASP.NET AJAX("ASMX JSON")
services将不能使用,在大部分案例中,不得不从根本改变他们的服务端(除非SOAP被明确指定为disabled,
在这些案例中它应该re-enabled).
(18)在Visual studio,使用"Add service Reference"被"Add Web Reference"取代
用户将需要为Silverlight使用服务将Add
service Reference替换Add Web Reference.
(19)Loaded事件签名的变化
Loaded事件签名现在是RoutedEventHandler/Arg
s.它行为是没有改变(这里不同的是tunneling/bubbling.)RoutedEventArgs 和 RoutedEventHandler的namespace从Sy
stem.Window
s.Input 改变到 Sy
stem.Window
s.
之后
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
using
System.Windows.Input;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
canvas.Loaded
+=
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
new
EventHandler(My_Handler);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
void
My_Handler (
object
sender, EventArgs E)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
现在
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
using
System.Windows;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
canvas.Loaded
+=
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
new
routedEventHandler(My_Handler);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
void
My_Handler (
object
sender, routedEventArgs E)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
(20)托管的Downloader被移出
托管的Downloader对象已经被移出.它的
功能被WebClient类替换.不再有JavaScript Downloader对象.
之前
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
Downloader downloader
=
new
Downloader();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
downloader.open(
"
GET
"
,
"
http://data.com/resource.xml
"
);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
downloader.DownloadProgressChanged
+=
new
EventHandler(downloader_DownloadProgressChanged);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
downloader.Completed
+=
new
EventHandler(downloader_Completed);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
downloader.DownloadFailed
+=
new
ErrorEventHandler(downloader_DownloadFailed);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
downloader.Send();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
void
downloader_Completed(
object
sender, EventArgs E)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
Downloader downloader = (Downloader)sender;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
Stream stream = downloader.GetResponseStream();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
现在
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
WebClient webClient
=
new
WebClient();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
webClient.DownloadProgressChanged
+=
new
DownloadProgressChangedEventHandler(webClient_DownloadProgressChanged);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
webClient.openReadCoR_180_11845@pleted
+=
new
OpenReadCoR_180_11845@pletedEventHandler(webClient_OpenReadCoR_180_11845@pleted);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
webClient.DownloadStringAsync(
new
Uri(
"
http://data.com/resource.xml
"
));
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
void
webClient_OpenReadCoR_180_11845@pleted(
object
sender, OpenReadCoR_180_11845@pletedEventArgs E)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
@H_130_
1970@
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
if ((e.Error == null) && (e.Cancelled == false))
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
Stream stream = e.Result;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
(21)BrowserhttpWebrequest 被移出
一个新的
httpWeb
request类被
添加,并且Browser
httpWeb
request类/实现已经被移出.
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
httpWebrequest request
=
new
BrowserhttpWebrequest(
new
Uri(
"
http://Contoso.com
"
));
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
httpWebResponse response
=
request.GetResponse();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
Stream content
=
response.GetResponseStream();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
using
(XmlReader reader
=
XmlReader.Create(
new
StreamReader(content)))
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
while (reader.Read())
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
if ((reader.IsStartElement()) && ("item" == reader.LocalName))
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
using (XmlReader itemReader = reader.ReadSubtree())
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
while (itemReader.Read())
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
if (itemReader.IsStartElement())
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
if ("title" == itemReader.LocalName)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
else if ("link" == itemReader.LocalName)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
response.Close();
现在
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
httpWebrequest request
=
(httpWebrequest) Webrequest.Create(
new
Uri(
"
http://contoso.com
"
));
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
request.beginGetResponse(
new
AsyncCallBACk(ResponseCallBACk), request);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
//
AsyncCallBACk called BACk on UIThread
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
private
void
responseCallBACk(IAsyncResult asyncResult)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
@H_587_2
607@
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
httpWebrequest request = (httpWebrequest)asyncResult.AsyncState;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
httpWebResponse response = (httpWebResponsE)request.EndGetResponse(asyncResult);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
Stream content = response.GetResponseStream();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
using (XmlReader reader = XmlReader.Create(new StreamReader(content)))
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
while (reader.Read())
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
if ((reader.IsStartElement()) && ("item" == reader.LocalName))
@H_197_2750@
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
using (XmlReader itemReader = reader.ReadSubtree())
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
@H_902_2801@{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
while (itemReader.Read())
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
if (itemReader.IsStartElement())
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
if ("title" == itemReader.LocalName)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
else if ("link" == itemReader.LocalName)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
content.Close();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
(22)托管的MediaElement/Image.Setsource(downloader,partName)被移出
Image.Set
source(DependencyOb
ject downloader,
String part
Name)和MediaElement.Set
source(DependencyOb
ject downloader,
String part
Name)方法已经被移出.为得到
一个从
一个zip流中夺取的 Part,你应该使用WebClient的Get
resourceStrea
m.看下面:
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
Downloader downloader
=
new
Downloader();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
downloader.open(
"
GET
"
,
"
http://foo.com/myimages.zip
"
);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
downloader.Completed
+=
new
EventHandler(downloader_Completed);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
downloader.Send();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
void
downloader_Completed(
object
sender, EventArgs E)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
MediaElement mediaElement = new MediaElement();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
Downloader downloader = (Downloader)sender;
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
mediaElement.Setsource(downloader, "image1.jpg");
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
现在
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
WebClient webClient
=
new
WebClient();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
webClient.openReadCoR_180_11845@pleted
+=
new
OpenReadCoR_180_11845@pletedEventHandler(webClient_OpenReadCoR_180_11845@pleted);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
webClient.openReadAsync(
new
Uri(
"
http://foo.com/myimages.zip
"
));
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
void
webClient_OpenReadCoR_180_11845@pleted(
object
sender, OpenReadCoR_180_11845@pletedEventArgs E)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
MediaElement mediaElement = new MediaElement();
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
if ((e.Error == null) && (e.Cancelled == false))
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
{
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
StreamresourceInfo zipresourceInfo = new StreamresourceInfo(e.Result, null);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
StreamresourceInfo imageresourceInfo = Application.GetresourceStream(zipresourceInfo, new Uri("image1.jpg"));
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
mediaElement.Setsource(imageresourceInfo.Stream);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
}
(24)SETVALue和GetValue的变化
DependencyOb
ject.
SETVALue不再是泛化.
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
this
.ClipName.SETVALue
<
double
>
(TextBlock.FontSizeProperty, ((
double
)
this
.ClipName.GetValue(TextBlock.FontSizeProperty))
-
1
);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
this
.ClipName.SETVALue
<
String
>
(TextBlock.ForegroundProperty,
"
#FF2F2F2F
"
);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
this
.CliPDAte.SETVALue
<
String
>
(TextBlock.ForegroundProperty,
"
#FF2F2F2F
"
);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
this
.ClipLength.SETVALue
<
String
>
(TextBlock.ForegroundProperty,
"
#FF2F2F2F
"
);
现在
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
this
.ClipName.SETVALue(TextBlock.FontSizeProperty, ((
double
)
this
.ClipName.GetValue(TextBlock.FontSizeProperty))
-
1
);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
this
.ClipName.SETVALue(TextBlock.ForegroundProperty,
"
#FF2F2F2F
"
);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
this
.CliPDAte.SETVALue (TextBlock.ForegroundProperty,
"
#FF2F2F2F
"
);
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
this
.ClipLength.SETVALue (TextBlock.ForegroundProperty,
"
#FF2F2F2F
"
);
当textblock.FontFamily返回
一个FontFamily对象时textblock.GetValue(FontFamilyProperty)使用返回值
一个字符串.上面GetValue行为已经有改变它返回的是
一个FontFamily对象.类似的,FontWeight,FontStyle,FontStretch和TextDecorations也同样的
一个方法.
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
if
(textblock.GetValue(FontStyleProperty)
==
3
)![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
现在
![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
if
(textblock.GetValue(FontStyleProperty)
==
FontStyles.ItaliC)![Silverlight 2的变化(Breaking Changes in Silverlight 2) Silverlight 2的变化(Breaking Changes in Silverlight 2)](http://img.voidcn.com/vcimg/static/loading.png)
(25)Miscellaneous API 的变化
ArcSegment.Size
方法是从Point到Size.
LoadContent
方法将从FrameworkTemplate到Data Template
添加一个TileMode枚举
进入sy
stem.Window
s.Media,并且
修改TileBrush.TileMode使用它替换double.
下面的
功能已经从HtmlPage中移到HtmlWindow:CurrentBookmark,Alert/Confirm/Eval/Prompt,CreateInstance,Navigate*/NavigateToBookmark.
下面
功能从HtmlPage中移动到HtmlDocument中:Submit,Cookies,Query
String,DocumentUri.
Scriptable attribute已经分为两个attribute ScriptableTypeAttribute和ScriptableMemberAttribute.开发者当前的类使用Scriptable的只需要该为ScriptableTypeAttribute.开发者当前类的成员使用的是Scriptable,只需要将改为ScriptableMemberAttribute.
XmlUrlResolver被移出.
OpenFileDialog.
title被移出.
Sy
stem.Window
s.WebApplication被移出.开发者应该被
一个新的Sy
stem.Window
s.Application类型替换.
UIElement::GetRenderSize被固定(返回Int32,和是绝对的访问器),是read-only,并且依赖的
属性是私有的.
下面类型由System.Silverlight.dll移动到System.Windows.dll中.这些改变只需要为你的assemblies移到新的assembly位置重新编译:
Sy
stem.Window
s.Control
s.DialogResult
Sy
stem.Window
s.Control
s.FileDialogFileInfo
Sy
stem.Window
s.Control
s.OpenFileDialog
Sy
stem.Windows
.browser.Net.XBrowser
httpWeb
request和
Sy
stem.Windows
.browser.Net.XBrowser
httpWebResponse是产生在Sy
stem.Window
s.dll的内部将不再为公共的使用.
XamlParseException.Line
number和LinePostion
属性的类型都将Int32该为UInt32.
委托 Layout
updatedEventHandler被移出,并且多有的引用被EventHandler所取代
Lay
outInformation被从Sy
stem.Window
s.Contorls移动到Sy
stem.Window
s.Control
s.Primitives
DownloadProgressEventArg
s.Progress现在返回类型由Int32替换原来的double.
Sy
stem.TimeZoneInfo 已经被移动到Sy
stem.Core.dll中.
TimelineCollection 已经从Sy
stem.Window
s.Media中移动到Sy
stem.Window
s.Media.Animation
来于Sy
stem.Window
s.Input.Key enumeration中的几个enumerators被改成匹配WPF的命名.
StyleSimulations 从Sy
stem.Windows中移到Sy
stem.Window
s.Media
triggerCollection和Event
trigger 现在被托管
代码产生.
DownloadProgressEventArgs 从Sy
stem.Window
s.MediaSy
stem中移到Window
s.Media.Imaging.
Orientation 从 Sy
stem.Windows 移动到 Sy
stem.Window
s.Controls
Popup 从 Sy
stem.Window
s.Controls 移动到 Sy
stem.Window
s.Control
s.Primitives
triggers 从 managed UIElement 移动到 FrameworkElement
Path
figure.Segments 是不再只有parser能写入
PathGeometry.
figures 是不再只有parser能写入
GeometryGroup.Children 是不再只有parser能写入
GradientBrush.GradientStops 是不再只有parser能写入
XmlReader.HasValue将从 virtual 改为 abstract.
Group.Synchronized(Grou
p)和Match.Synchronized(Match) 在Sy
stem.Text.RegularExpressions namespace中被移出.
Sy
stem.Window
s.Visibility enumeration 根本类型从int改换为byte.
ScriptOb
ject 不再实现IDisposable (if you happened to be using that).
HtmlDocument.GetElementById 是从"GetElementByID"
重命名来.
HtmlElement.Id 是从“ID”
重命名来.
Scriptable endpoints必须使用HtmlPage.RegisterScriptab
Leob
ject
注册. 这个method 使用现有的Sy
stem.Window
s.WebApplication类型.
你不再需要在
一个类的上
标记[Scriptable] attribute来
注册它. 而是你必须有在最后的PME上
注册实例
标记就会像[Scriptable]成功
注册实例样.
ScriptOb
ject.GetProperty<T>泛化类型被移出.取代的是,你必须明确指出返回值类型.
ScriptOb
ject.GetProperty and ScriptOb
ject.Invoke/InvokeSelf返回
值的类型为ob
ject.
返回值指向DOM ob
jects或JavaScript ob
jects(HtmlDocument,HtmlElement,HtmlOb
ject,ScriptOb
ject)是动态的返回大部分派生类型.可是,
一个开发者仍然需要明确指定适当的类型type.
所有从GetProperty和Invoke/InvokeSelf值返回的值类型是numeric因为double有cross-browser的限制.如果你期待Int32值,你现在必须明确
使用COnvert.ToInt32转换返回
值的类型numeric为Int32类型.
httpUtility type’s public signature是变为一对 HtmlEncode/Decode 和UrlEncode/Decode method
s.
在Sy
stem.Silverlight.dll中的Sy
stem.Window
s.ApplicationUnhandledExceptionEventArgs类型被移出,也随着在Sy
stem.Window
s.WebApplication中的 ApplicationUnhandledException的事件的使用.开发者应该开始使用unhandled exception
支持新的 Windows Presentation Foundation (WPF)应用程序类型.
Sy
stem.Windows
.browser
.browserInformation
.browserVersion的返回类型从
String改为Sy
stem.Version.
Sy
stem.ApplicationException 已经被废弃并且从涉及它的class中移出.
@H_137_18
@multi
ScaleIR_180_11845@age使用时有的a Viewport
属性是
一个Rect类型.它已经改换为两个
属性,ViewportOrigin (是Point类型)和ViewportWidth (是Doubl
E).
Property Value Changes
下面
属性中PointCollection替换Point[]:
Sy
stem.Window
s.Media.PolyLi
nesegment.Points
Sy
stem.Window
s.Media.PolyBezierSegment.Points
Sy
stem.Window
s.Media.PolyQuadraticBezierSegment.Points
Sy
stem.Window
s.Shape
s.Polygon.Points
Sy
stem.Window
s.Shape
s.Polyline.Points
下面
属性是DoubleCollection代替Double[]:
Sy
stem.Window
s.Shape
s.Shape.
strokeDashArray
Parameter名改换 大部分适应Visual Basic应用程序)
RenderTargetBitmap.Render 参数名字从'element'改为 'visual'
MediaElement.GetValue/
SETVALue: 参数名字从 'property' 改为 'dp'
UIElement.TransformToVisual: 参数名字从 'uiElement' 改为 'visual'
Dependency Properties
加上 Private
TransformGroup.Value现在是
一个 private DP
Geometry
.bounds 现在是
一个 private DP
FrameworkElement.
resources 现在是
一个 DP
TEXTBlock.Inli
nes 现在是
一个 private DP
Run.Text 现在是
一个 private DP
Event
trigger.RoutedEvent 现在是
一个 private DP
KeySpline.ControlPoint1 和 ControlPoint2 现在是
一个 DPs
stroke.StylusPoints 现在是
一个 a private DP
stroke.DrawingAttributes 现在是
一个 private DP
StylusPoint.X,Y,PressureFactor,Color,OutlineColor,Width,and Height 现在是
一个 private DPs
StylusPoint.PressureFactor 现在不再产生accessors (DP only)
TEXTBox.
SELEctedText,
SELEctionLength,和
SELEctionStart 现在是
一个 private DPs
RowDe
Finition.ActualHeight,ActualWidth 现在是
一个 private DPs
(26)添加System.Net.sockets Namespace
Sy
stem.Net
.sockets namespace
添加进Silverlight 2中为开发者需要紧密的控制网络提供
一个sockets networking interface托管实现.看
Working with Sockets.
-
-----------works guo(翻译)