列表视图有时不从我DataSource.cs
问题描述:
我是新手在WinRT的开发显示数据。我试图将数据从我的数据源绑定到ListView。但是有问题,当我使用列表视图有时不从我DataSource.cs
var file = await ApplicationData.Current.LocalFolder.GetFileAsync("tasks.xml");
var readStream = await FileIO.ReadTextAsync(file);
,如果我用这个代码,然后应用程序有时不显示ListView中的数据(它是真正随机的,有时它显示一切正常,有时不显示ListView中什么)。
当我删除这个数据源代码,然后everithing效果很好。
我有这个数据源类(DataSource.cs)
public class InboxPageViewModel
{
public List<Task> Items { get; set; }
public InboxPageViewModel()
{
GetTasks();
}
private async void GetTasks()
{
try
{
var file = await ApplicationData.Current.LocalFolder.GetFileAsync("tasks.xml");
var readStream = await FileIO.ReadTextAsync(file);
var tasksList = new List<Task>
{
new Task { Name = "a", DueDate = "b", Project = "c", Context = "d"},
};
Items = tasksList;
}
catch (Exception ex)
{
new MessageDialog(ex.Message).ShowAsync();
}
}
}
public class Task
{
public string Name { get; set; }
public string Category { get; set; }
public string DueDate { get; set; }
public string Project { get; set; }
public string Context { get; set; }
public string Note { get; set; }
public string IsFinished { get; set; }
}
答
你永远不应该使用async void
方法(除非你正在写一个事件处理程序)。
而且你也应该不叫从构造async
方法,以获取更多信息,请阅读Stephen Cleary's article about that。
谢谢你的反应,这是韦里乐于助人,但我怎么能存取权限存储文件,而无需FileIO.ReadTextAsync? – Earlgray 2013-03-11 22:03:35
@ user1128073我没有说你不应该使用它。 – svick 2013-03-11 22:07:55
我有点困惑:)我试着从文章你在你的邮寄一些代码的变化,但问题仍然在这里。我可能做错了什么。你能给我一个样本,我的数据源代码应该怎么看? – Earlgray 2013-03-11 22:16:52