我想知道我的gridView是否为空-里面没有任何项目。 我尝试执行以下操作:
public sealed partial class Profile : Page
{
Boolean isGridViewEmpty = true;
}
这是显示网格视图的功能,我试图使它也可以确定gridview是否为空
//gets the animals of the specific chosen user's data tabe
public async void getAnimalsData(int ownerId)
{
int count = 0;
regitration.getAnimalsOfUserTableResponseGetAnimalsOfUserTableResult r = await cal.getAnimalsOfUserTableAsync(ownerId);
List<Animal> theAnimalList = new List<Animal>();
Animal a = null;
XmlReader xr = r.Any1.CreateReader();
XmlDocument document = new XmlDocument();
document.Load(xr);
XmlNodeList theXmlList = document.GetElementsByTagName("Table");
foreach (XmlElement item in theXmlList)
{
a = new Animal();
foreach (XmlNode node in item.ChildNodes)
{
switch (node.Name)
{
case "animalId": a.AnimalId = int.Parse(node.InnerText); count++; break;
case "ownerId": a.OwnerId = int.Parse(node.InnerText); count++; break;
case "animalName": a.Animalname = node.InnerText; count++; break;
case "fur": a.Fur = node.InnerText; count++; break;
case "level": a.Level = int.Parse(node.InnerText); count++; break;
case "money": a.Money = int.Parse(node.InnerText); count++; break;
}
}
theAnimalList.Add(a);
}
grid2.ItemsSource = theAnimalList;
if (count == 0)
{
isGridViewEmpty = true;
}
else
{
isGridViewEmpty = false;
}
}
在调试时,我可以看到它并没有真正退出功能,尽管它也没有显示错误消息。它似乎在最后一个花括号之后卡住了。
我不知道我在做什么错,该计数似乎可以正常工作,在调试时它还向我表明isGridViewEmpty
确实设置为true,但是每当我实现该功能并检查{{ 1}}是对的,它是行不通的。另外,正如我之前提到的,调试器卡在函数isGridViewEmpty
答案 0 :(得分:1)
函数getAnimalsData
是async
。因此它实际上有效,只是因为它发生在后台而不是我按下它的顺序,所以只要我具有条件相关的功能,它就显得无用。因此,我将其设置为Task
而不是void
,并将await
放在函数之前。
有关更多详细信息,请参阅Asynchronous programming with async and await (C#)。