Silverlight 2 Beta 2升级手记

 

这一天都是在做Silverlight 2 Beta 2的升级,在Debug的时候碰到很多的问题,跟大家分享。

本文逻辑

阅读参考(如已经有了解,可跳过) -> 请先备份 -> 升级碰到的阻碍 -> 结束语

参考(如已经有了解,可跳过))

Breaking Changes Between Beta 1 and Beta 2

[译]Silverlight 2 Beta 2 新特性详解 :)

请先备份

请事先备份数据, 如果有版本控制工具,也请记得离线工作

升级碰到的阻碍

1. 再升级前请慎重考虑是不是要升级,Silverlight 2 beta 2的几个新特性对于您来说有哪么重要吗?VisualStateManager, Cross-Domain Policy等等, 先了解再等到RTM也是不错的选择哦,毕竟没有非常重要的新特性,比如打印,HOHO~~

2. XAML文件上的修改,一些属性被去掉, ToolTip被修改成ToolTipService.ToolTip

比如 FontSize, FontFamily等等

3. Control.InitializeFromXaml 不再可用

据我所知,有两种替代方法,欢迎各位补充

a. Application.LoadComponent

参考: http://silverlight.net/forums/t/17513.aspx

b. XAMLReader.Load(string xaml)

4. 一些控件从System.Windows.Controls移到System.Windows中

5. DialogResult现在是Internal不再可用

6. WatermarkTextBox不再可用,可以选择替换,或者下载Silverlight 2Beta1 Controls

地址: Download details: Source Code for Silverlight 2 Beta 1 Controls

7. Silverlight.js修改过了,所以部署时需要拷贝,另外如果碰到运行显示安装Silverlight 2 的情况,请修改运行该Silverlight的页面将html中的object里的type修改掉原来是 application/x-silverlight-2-b1

image

8. SetValue(Canvas.TopProperty, value)这样的方法可能导致错误,或者 this.Width = value;

因为value可能是NaN的数据,这样设置的属性并不正确,而因为Silverlight本身没有调试工具,XAML文件出错但也没法调试(我还不知道怎么调试XAML :( ),所以如果数据并不能显示,请检查这里是不是有错, 有点像过去没有Javascript调试工具时候的体验了。

9. MouseLeftButtonDown/UP 不再触发这样的问题
在Beta2里修改了对于事件的处理机制,如果在本类中设置了handler = true,再使用这个类时不再触发这个事件,比如ListBoxItem 和 ScrollViewer
ListBoxItem 对于MouseLeftButtonDown事件的处理

 1     internal   virtual   void  OnMouseLeftButtonDown(MouseButtonEventArgs e)
 2      {
 3        if (!e.Handled)
 4        {
 5            e.Handled = true;
 6            if (base.Focus() && (this.ParentListBox != null))
 7            {
 8                this.ParentListBox.NotifyListItemClicked(this);
 9            }

10        }

11    }

12

ScrollViwer

1 private   void  OnMouseLeftButtonDown(MouseButtonEventArgs e)
2 {
3    if (!e.Handled && base.Focus())
4    {
5        e.Handled = true;
6    }

7}

8
9

这样做之后咱们只能手动的给他们添加事件支持了

10. 还有一些控件比如 DataGrid, MultiSacleImage并没有使用,不会造成影响

结束语

做升级记录的时候也只是大概的记了一下,有的部分可能也忘记了,不能详述实为抱歉,整个升级过程中,除了原来的XAML动态加载方式和Silverlight显示不正常外,并没有碰到多少卡壳的地方。祝各位想升级的朋友升级顺利, 同时,欢迎补充。 :)

转载于:https://www.cnblogs.com/zhzkl/archive/2008/06/12/1218033.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值