【发布时间】:2016-01-29 19:43:52
【问题描述】:
我有一个异步方法。我正在尝试从 web 上的 json 文件绑定 listview。 我正在开发一个通用 Windows 平台应用程序。当我第二次打开页面时,列表视图正在加载。但是当然我希望在第一次加载时加载列表视图。什么会导致它出现问题?谢谢。 这是我的 XAML 的代码隐藏。
public MyPage()
{
this.InitializeComponent();
Namedays = new List<NamedayModel>();
LoadData();
listview1.ItemsSource = Namedays;
}
public async void LoadData()
{
Namedays = await GetAllNamedaysAsync();
}
private static List<NamedayModel> allNamedaysCache;
public static async Task<List<NamedayModel>> GetAllNamedaysAsync()
{
if (allNamedaysCache != null)
return allNamedaysCache;
var client = new HttpClient();
var stream = await client.GetStreamAsync("http://www.example.com/myfile.json");
var serializer = new DataContractJsonSerializer(typeof(List<NamedayModel>));
allNamedaysCache = (List<NamedayModel>)serializer.ReadObject(stream);
return allNamedaysCache;
}
【问题讨论】:
标签: c# xaml async-await uwp