找回密码
 立即注册
首页 业界区 业界 VS2010 Beta1下Silverlight3试用手记

VS2010 Beta1下Silverlight3试用手记

高清宁 2025-5-29 20:31:45
本次试用仍是在前文试用手机的虚机环境下进行,此次内存加到了1GB,安装完毕后整个虚机镜像大小是6.52GB,相比之前增加了一倍。虽然VS2008也可以Silverlight3,但是跟VS2010比有很大的变化,很值得你去尝试。
VS2010 beta1的安装过程简化了一些,倒是使得SQLServer2008 Express这样的组件都要被安装进来。估计正式版的时候那些选项还会回来。
比较让人意外的是,安装完.net framework 4 beta1之后,居然提示要重启。
安装速度很慢,虚机环境下安装了1个小时。还有如之前的几位朋友所说,运行速度不是很快。
 
下面看图说话,首先,界面清新了很多,看上去更WPF了一些,少了些东西,所以多少还是不习惯:
1.png

接下来,新建一个Silverlight项目,跟VS2008下差别不大:
2.png

值得一提的是,.net framework版本最早支持到2.0,1.x的兄弟们又尝不到新鲜了。.net版本在这里指定,silverlight的版本就在下一个界面里指定。还有,Sharepoint的项目模版也加入了进来,只支持2007版本的。SQLServer相关项目的开发模版仍没有,看来还是要随下一个版本的SQLServer一起安装了。(解释一下,由于本人做RIA+BI相关,所以对此比较关注)
3.png

毫无疑问,Silverlight的版本选择3。我注意到3.0前面特意加上了各V,Silverlight的版本一直带有传奇色彩,尽管我到现在还没搞明白Silverlight1,Silverlight2以及Blend的1,2以及曾经的2.5,但现在,无论如何,Silverlight3就是3了,Blend3也就是3了,没有.5这一说。
具体的开发环境跟前文介绍的相比较有了很大的变化:
4.png

这个是不是太清新点了?没有工具栏怎么那么别扭呢?最起码也得有个运行按钮吧。点击视图-工具栏(不是工具箱)就可以把它找出来,此外还有很多工具可以根据个人需要添加:
5.png

这样感觉还习惯一些。
在设计UI的时候,这次是真的支持拖拽了,不用特意跑到Blend里,或者凭想象敲XAML了,至于是否会跟Blend里有误差,目前还是未知。不过我感觉在VS2010里有个类似Blend那样的层面板会更加舒服,方便选取层叠的元素。当然,像动画和样式的高级定义来说,还是应该到Blend里去做的。
6.png

支持了拖拽的设计方式,在VS2010里开发Siverlight的时候,控件的属性和事件面板,才有了存在的意义:
7.png

还记得前一个版本,属性和事件面板默认得把其拉上来,可能就是微软考虑到此了。
和之前一个兄弟介绍的一样,Silverlight3里新加入的相关特性的属性设置在这里无法修改,还得敲XAML或者BLEND。
8.png

打开之前发布的Silverlight开发包所创建的项目的时候,是无法找到VS2010的选项的:
9.png

而从VS2010里选择文件-打开项目的话,会出现一个转换对话框:
10.png

不只Silverlight项目需要转换,Web项目也得转:
11.png

转换成功后,可以看到网站项目被转换成了相应的.net framework版本:
12.png

这样的转换感觉就像由VS2005的项目转到VS2008下一样,笔者没有遇到太大的麻烦。
最后,还是建个体现3D特性的程序玩玩:
13.png

如图:有三个滑动条和一个面板,通过滑动滑块,面板会进行对应x,y,z轴的翻转:
14.png

XAML代码很简单:
 
15.gif
16.gif
XAML
 1
17.gif

 6
18.gif
    
 7
19.gif
        
 8
20.gif
            
 9
21.gif
                
13
22.gif
            
14
23.gif
             
15
24.gif
                
16
25.gif
                    
17
26.gif
                    
18
27.gif
                
19
28.gif
            
20
29.gif
        
21
30.gif
        
22
31.gif
        
23
32.gif
        
24
33.gif
        
25
34.gif
        
26
35.gif
        
27
36.gif
    
28
37.gif
  
这里主要看Canvas.Projection就可以了。尽管默认都是0,但这里还是要声明。
然后在代码中:
 
38.gif
39.gif
CS
 1
40.gif
public MainPage()
 2
41.gif
42.gif
43.png
{
 3
44.gif
    InitializeComponent(); 
 4
45.gif

 5
46.gif
    slX.ValueChanged += new RoutedPropertyChangedEventHandler(slX_ValueChanged);
 6
47.gif
    slY.ValueChanged += new RoutedPropertyChangedEventHandler(slY_ValueChanged);
 7
48.gif
    slZ.ValueChanged += new RoutedPropertyChangedEventHandler(slZ_ValueChanged);
 8
49.gif

 9
50.gif

10
51.gif
void slZ_ValueChanged(object sender, RoutedPropertyChangedEventArgs e)
11
52.gif
53.gif
54.png
{
12
55.gif
    tbZ.Text = slZ.Value.ToString();
13
56.gif
    canvasBody.Projection.SetValue(PlaneProjection.RotationZProperty, slZ.Value);
14
57.gif

15
58.gif

16
59.gif
void slY_ValueChanged(object sender, RoutedPropertyChangedEventArgs e)
17
60.gif
61.gif
62.png
{
18
63.gif
    tbY.Text = slY.Value.ToString();
19
64.gif
    canvasBody.Projection.SetValue(PlaneProjection.RotationYProperty, slY.Value);
20
65.gif

21
66.gif

22
67.gif
void slX_ValueChanged(object sender, RoutedPropertyChangedEventArgs e)
23
68.gif
69.gif
70.png
{
24
71.gif
    tbX.Text = slX.Value.ToString();
25
72.gif
    canvasBody.Projection.SetValue(PlaneProjection.RotationXProperty, slX.Value);
26
73.gif

27
74.gif
 
滑块状态改变的时候就修改面板里Projection里相应的值。
 
总结:
先不说Silverlight新特性或者新控件如何,因为这不是本文讨论的范围之内,就新的开发环境来说,给人感觉舒服和痛快了很多,因为很多之前本该支持的现在终于支持了。不过运行的速度恐怕需要时间来接受。基本上,你要是对Silverlight3感兴趣的话,那么就值得尝试下VS2010。
 
杂:
可能是由于虚机的缘故,VS2010的菜单显示有些问题,我用的是VMWare。
很多各理由值得试用,都说微软的东西到版本3之后才能用,.net runtime的版本理论上到3了,还等什么呢。相信这个版本会给我们比较多的惊喜。
期待SQLServer的下一个版本。由于本身搞跟BI相关的开发,所以都有这样的印象,SQLServer2005得对应VS2005,SQLServer2008得对应VS2008,连之前的SQLServer2000都得跟VS2003对应,所以特别期待下一个版本的 SQLServer会是什么样子。说到这个版本不得不发发牢骚。以前,假如用多维数据集是SQLServer2005里的话,而前端程序需要用VS2008来开发,那么为了照顾到多维数据集的开发,就不得不再装个VS2005,挺让人抓狂的。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册