我会尽快的发表文章,一周发两三个左右,每篇内容不宜过长,本来还想做成一个系列视频,但想到可能还是文字比较好传播一些,视频就以后再说.
整系列文章都以平实易懂的方式展开讲解,过多的原理性的东西暂时略过.
全篇仅以C#语言讲解.
好,废话少讲,正式开始.
第一篇
九月份微软发布了siverlight1.0的正式版,有学习过的朋友,应该对1.0的编程模型有些了解,整个页面里的siverlight逻辑内容都由后台的一个page.xaml.js文件中的JS脚本来控制,用户看到页面时,是把前台和后台JS文件都下载到本地,然后执行.整个模型是以JS为基础的,由于JS的面相对象等等支持不是那么优秀,所以,我们在1.0中的编程相对会比较直接,是一个很面向过程的环境,我们可能会经常重覆去做某一件事,或是在后台直接编写事件控制等等,而相对较少去考虑控件,复用等等. 期间也听一些牛人谈起过这样一个观点,1.0只不过是siverlight的一个前导版本,并没有打算用来真正推向市场,就如当年的.net framework1.0一样,短短的存活了几个月,就被1.1所替代,在微软员工的一些博客上,也有提到过这件事,他们当然不会这么说得1.0一文不值,建议是1.0的内容也要学好,这会为以后siverlight的学习打好基础.我们暂不论这个论点的对错,先来看一下,1.0和1.1最明显,我们实实在在马上就能看到的区别:
1.1抛弃了1.0用JS为控制逻辑的做法,而是用一个page.xaml.cs的文件来控制,这个文件里使用托管语言来控制程序逻辑,而前台的页面和以前几乎没有差别. 这就是最实在的区别,有人说JS开发环境不好,JS面向对象做的不够好,JS的强类型支持不够好,那么,现在你可以使用C#,你以前开发中用到的很多技巧,像继承,多态,包装,接口等等,你在这都可以用了,但有一点要注意,这一切都是在客户端做的哦,也就是说C#写的东西,居然是运行在客户端的. 其实,这一切都在1.1的RUNTIME里,大家在第一次浏览1.1的示例时,会提示安装一个RUNTIME,这个RUNTIME不大,但里面却是1.1的核心环境,它里面包含了一个.net framework的环境,当然这是个小环境,和我们平时在服务器端的不能比(毕竟平时服务器端的.net framework有20多M呢)它只支持.net framework的一小部分功能,你能导入的命名空间也是有限的很少几个,但是功能却是非常强大哦.具体的用法我们以后再说.
放上两段代码,来看一看1.0 和1.1的区别.
前台代码基本一样,先暂不管区别
<Canvas x:Name="parentCanvas"
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Loaded="Page_Loaded"
x:Class="SL_Test.Page;assembly=ClientBin/SL_Test.dll"
Width="640"
Height="480"
Background="White"
>
<Image x:Name ="ScenePic "></Image>
</Canvas>
1.0 中的代码
Commercial.Scene.prototype =
{
handleLoad: function(plugIn, userContext, rootElement)
{
this.ScenePic = rootElement.findName("ScenePic");
1

