首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >填充饼图时出现WP7问题

填充饼图时出现WP7问题
EN

Stack Overflow用户
提问于 2011-01-01 14:01:05
回答 1查看 443关注 0票数 0

在我的WP7项目中填充饼图时遇到了一些问题。目前,我的代码如下所示。我尝试了几种不同的方法从xml服务中取回数据,但没有成功。有没有人看到我做错了什么?

我现在得到的错误是,“无法隐式地将类型'System.Collections.Generic.IEnumerable‘转换为'System.Xml.Linq.XElement’。存在显式转换(您是否缺少强制转换?)”

代码语言:javascript
复制
XDocument XDocument = XDocument.Load(new StringReader(e.Result));

        XElement Traffic = XDocument.Descendants("traffic").First();
        XElement Quota = XDocument.Descendants("traffic").Attributes("quota");

        ObservableCollection<PieChartItem> Data = new ObservableCollection<PieChartItem>()
        {
            new PieChartItem {Title = "Traffic", Value = (double)Traffic},
            new PieChartItem {Title = "Quota", Value = (double)Quota},
        };

        pieChart1.DataSource = Data;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-02 03:42:43

我猜这一行有编译错误:

代码语言:javascript
复制
XElement Quota = XDocument.Descendants("traffic").Attributes("quota");

Descendants("traffic")的结果是一个IEnumerable,而不是一个XElement。在上面的代码行中,您已经获得了该枚举数的First,这就是您想要的项,不是吗?

配额行应为:

代码语言:javascript
复制
XElement Quota = Traffic.Attributes("quota");

就风格而言,大多数人使用大小写较低的局部变量,如trafficquotadata,以将它们与类级属性和成员区分开来。

更新:看起来Attributes("quota")返回IEnumerable<XAttribute>,因此配额行应该是:

代码语言:javascript
复制
XAttribute Quota = Traffic.Attributes("quota").FirstOrDefault();

或者简化一下:

代码语言:javascript
复制
var traffic = XDocument.Descendants("traffic").First();   
var quota = traffic.Attributes("quota").FirstOrDefault();

我不想刻薄,但是修复像这样的编译器错误应该是你不应该来stackoverflow的东西。编译器错误本身会告诉您问题所在:该方法返回的类型与您所说的不同。使用var可以简化其中的一些操作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4573310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档