列表视图有时不显示来自我的DataSource.cs的数据
本文关键字:DataSource 我的 cs 数据 自我 视图 显示 列表 | 更新日期: 2023-09-27 18:03:19
我是WinRT开发的新手。我试图将数据从我的数据源绑定到ListView。但是当我使用
时出现了问题var file = await ApplicationData.Current.LocalFolder.GetFileAsync("tasks.xml");
var readStream = await FileIO.ReadTextAsync(file);
如果我使用这段代码,那么应用程序有时不会在ListView中显示数据(它真的是随机的,有时它显示所有内容,有时在ListView中不显示任何内容)
当我从数据源中删除这段代码时,一切都运行良好。
我有这个数据源类(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的文章