根据VS2012的模板,修改了一个Windows apps类:SampleDataSource。大意是从XML文件读取数据, 用到了LINQ for XML,然后添加到group1.Items中。
但是代码运行完后,group1.Items总是为空,不能生成数据。好像是IEnumerable<XElement> _els没有 new的原因?对C#不是很精通,不清楚是什么原因,会不会是数据传递时出错了呢,请大家帮忙,谢谢!
附上代码如下: using Windows.Storage;
using System.Xml.Linq;
using System.IO;
public sealed class SampleDataSource
{
private IEnumerable<XElement> _els; public async void setgroupedItemsViewSource()
{
var picturesLibrary = Windows.Storage.KnownFolders.PicturesLibrary;
Windows.Storage.StorageFile file = await picturesLibrary.GetFileAsync(@"file.xml"); XDocument doc1 = new XDocument();
using (Stream stream = await file.OpenStreamForReadAsync())
{
doc1 = XDocument.Load(stream);
}
var els = from el in doc1.Root.Elements()
select el;
this._els = els;
} public SampleDataSource()
{
setgroupedItemsViewSource();
foreach (XElement el in this._els)
{
group1.Items.Add(new SampleDataItem((string)el.Attribute("id"));
} }
}
但是代码运行完后,group1.Items总是为空,不能生成数据。好像是IEnumerable<XElement> _els没有 new的原因?对C#不是很精通,不清楚是什么原因,会不会是数据传递时出错了呢,请大家帮忙,谢谢!
附上代码如下: using Windows.Storage;
using System.Xml.Linq;
using System.IO;
public sealed class SampleDataSource
{
private IEnumerable<XElement> _els; public async void setgroupedItemsViewSource()
{
var picturesLibrary = Windows.Storage.KnownFolders.PicturesLibrary;
Windows.Storage.StorageFile file = await picturesLibrary.GetFileAsync(@"file.xml"); XDocument doc1 = new XDocument();
using (Stream stream = await file.OpenStreamForReadAsync())
{
doc1 = XDocument.Load(stream);
}
var els = from el in doc1.Root.Elements()
select el;
this._els = els;
} public SampleDataSource()
{
setgroupedItemsViewSource();
foreach (XElement el in this._els)
{
group1.Items.Add(new SampleDataItem((string)el.Attribute("id"));
} }
}
解决方案 »
- 如何实现图形的翻转?
- 请问如何获取文件夹Icon?
- 分页问题
- 关于ArrayList的问题
- 求教:VS 2005 WinForm 程序中DataGridView 和 DataBindingSource 的关联问题
- 怎么给一个Excel增加一个Sheet和删除一个Sheet?
- 三层开发中遇到的sql语句问题(去重复数据)
- 几人共同做一项目(项目是用windows编程)怎样更简单的集成代码,为何“设计”页面转移不了
- c#调用imgdecmp.dll
- .net 中System.net.sockets命名空间中的类为什么不支持window98?
- arraylist里面每个元素都是string[]的小问题
- INSERT INTO 语句错误
foreach (XElement el in this._els) 当然没有值
可是await应该加在哪里呢,直接改成await setgroupedItemsViewSource()没有用,是不是还得用TASK呢。
await/async一时搞不明白,请大虾帮帮忙改一下整个代码,万分感谢!
谢谢!
可是await应该加在哪里呢,直接改成await setgroupedItemsViewSource()没有用,是不是还得用TASK呢。
await/async一时搞不明白,请大虾帮帮忙改一下整个代码,万分感谢!
foreach (XElement el in this._els)
{
group1.Items.Add(new SampleDataItem((string)el.Attribute("id"));
}
移到 setgroupedItemsViewSource 里,其他不用动。