检查gridView是否为空

时间:2018-12-10 11:22:09

标签: c# gridview windows-10-universal

我想知道我的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

1 个答案:

答案 0 :(得分:1)

函数getAnimalsDataasync。因此它实际上有效,只是因为它发生在后台而不是我按下它的顺序,所以只要我具有条件相关的功能,它就显得无用。因此,我将其设置为Task而不是void,并将await放在函数之前。

有关更多详细信息,请参阅Asynchronous programming with async and await (C#)