代码改变世界

Silverlight学习问题总结(一)

2009-08-05 22:39  w i n s o n  阅读(644)  评论(0编辑  收藏  举报
最近因为工作需要,也开始要学习Silverlight啦,呵呵。其实以前也想过要学这东西的,只是一直没空,而且更主要的是就算学到了,也无用武之地啊,因此如果工作中用到而去学的,那又是不同的感觉啦,起码很多东西可以马上学以至用了 :)

 这篇日志只是我在学习过程中遇到问题的解决,所以可能每个问题都比较简短或者零乱,因此也会不断更新。

 1、首先遇到的第一个问题,就是编译器的问题(真是出师不利 ) 以 前我也玩儿过Silverlight,知道环境是如何搭建的,这点倒不是问题,只要下载一个 Microsoft® Silverlight™ 2 Tools for Visual Studio 2008 SP1 就可以了,我在自己的机上运行都很正常,但不知怎么的去到公司的机子却出问题了,就是 xaml 的可视化设计界面出不来,总是报以下的错误: There is no editor available for "~~~/××.xaml"?. Make sure the application for file type(.xaml) is installed. 查来查去都找不出个所以然来,后来只好上google了,果然问题不止我一人遇到(否 则就会被怀疑是RP问题了 :p),既然是有问题,那当然也会有解决的办法啦,看来是因为VS2008的配置问题引起的,也不知道哪里改过什么东西了,不管了,只要在VS2008的 命令行状态下,运行一下下面的语句,重置一下配置就好了: Devenv /ResetSkipPkgs

2、 Silverlight是一个主要负责UI的框架技术,因此以前习惯使用的 DataSet / DataTable 等都已无法使用了,这对刚开始学习的朋友来说可能会有点不习惯,不过大家仍然可以使用集合等数据源进行绑定的。而且要使用 Silverlight 与数据库交互,一般的办法都要使用 Webservice 或者 WCF 等服务进行,这里就有一个数据转换的问题了,Webservice 如果返回一个类似 Dataset 的数据源呢?以下的方法就可以构建一个通用的数据源返回方法,将 DataSet 转成 XElement 进行返回处理:

 服务器端方法:
Code

以下是在客户端接收数据:
Code

以下是异步方法处理返回结果:
Code

经过以上处理后,就可以得到一个完整的集合数据源了 :)