您的位置:首页 > 其它

Silverlight学习问题总结(一)

2009-08-05 22:39 357 查看
最近因为工作需要,也开始要学习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 进行返回处理:

服务器端方法:
void salaryClient_GetSalaryCompleted(object sender, GetSalaryCompletedEventArgs e)
{
//如果没有错误则继续
if (e.Error == null)
{
string xmlContent = e.Result;

try
{
if (xmlContent != string.Empty)
{
//将返回结果转换成XML
XDocument xmlSalary = XDocument.Parse(xmlContent);
//使用LINQ获取数据
var result = from item in xmlSalary.Descendants("row")
select new Salary()
{
Year = item.Attribute("Year").Value,
Position = item.Attribute("Position").Value,
Min_Salary = Math.Round(
Convert.ToDouble(
item.Attribute("Min_Salary").Value == "" ? "0" : item.Attribute("Min_Salary").Value), 2),
Max_Salary = Math.Round(
Convert.ToDouble(
item.Attribute("Max_Salary").Value == "" ? "0" : item.Attribute("Max_Salary").Value), 2),
Avg_Salary = Math.Round(
Convert.ToDouble(
item.Attribute("Avg_Salary").Value == "" ? "0" : item.Attribute("Avg_Salary").Value), 2),
Count = Convert.ToInt32(item.Attribute("Count").Value)
};
//最终生成数据源
List<Salary> salarys = result.ToList<Salary>();
}
}
catch (Exception ex)
{

Console.Write(ex.Message);
}
}
}

经过以上处理后,就可以得到一个完整的集合数据源了 :)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐