我想读取XML文件并将其数据绑定到列表框。
在第1页中,单击按钮并转到第2页。
在第2页,来自xml文件的列表框绑定数据。
这是从xml文件中获取数据的代码:
class GetData
{
public object obj_get_data(string xml_file)
{
XDocument xdoc = XDocument.Load(xml_file);
var list_emp = from query in xdoc.Descendants("emp")
select new du_lieu.thong_tin
{
Name = (string)query.Element("age"),
Age = (string)query.Element("age"),
};
return list_emp;
}
}
在第2页中,在NavigationHelper_LoadState
上,我将此代码写入绑定数据:
private void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
GetData gd = new GetData();
object obj = gd.obj_get_data(xml_danh_sach);
listbox1.ItemsSource = obj;
}
使用此代码,一切正常, 但是,当第1页上的点击按钮时,app会延迟一秒,然后再转到第2页。
我知道我需要使用异步任务和progess bar / ring来制作应用程序 像平常一样 但我不知道该怎么做。 每个人都可以帮助我吗?
答案 0 :(得分:0)
试试这个:
class GetData
{
public async Task<object> obj_get_data(string xml_file)
{
XDocument xdoc = await XDocument.Load(xml_file);
var list_emp = from query in xdoc.Descendants("emp")
select new du_lieu.thong_tin
{
Name = (string)query.Element("age"),
Age = (string)query.Element("age"),
};
return list_emp;
}
}
而且:
private async Task NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
GetData gd = new GetData();
object obj = await gd.obj_get_data(xml_danh_sach);
listbox1.ItemsSource = obj;
}