如何删除列表中的每一项?

How can I delete every item in my list?

如何使用下面的点击功能删除列表视图中的所有内容? 现在它只删除列表中的第一项,而不是每一项。 这是我的代码:

async void OnButtonClickedRemoveEverything (object sender, EventArgs args)
    {
        theGuestListMembers ourItem = null;  //theGuestListMembers is our Class.

        foreach (theGuestListMembers c in ourEventList) {   //oureventlist = this is Our List.

                ourItem = c;
        }

// 。 listID 是一个 public 字符串,它从用户(objectID)获取个人 "info"。所以我猜 "ourItem.listID" 是我们的问题,因为我只得到 1 个人的 objectID 我猜不是列表中的每个人?

        if(ourItem != null)
        {
            parseAPI.deleteTheGuestList 
            (Application.Current.Properties ["sessionToken"].ToString (), ourItem.listID);    
            ourEventList.Remove (ourItem);

            EmployeeList.ItemsSource = null;  //name of our list

            EmployeeList.ItemsSource = ourEventList; 
        }

        Navigation.PopAsync ();
    }

我获取信息的数据库。

var getItems = await parseAPI.getOurGuestList (Application.Current.Properties ["sessionToken"].ToString (), owner);
            EmployeeList.ItemsSource = null;
            ourEventList = new List<theGuestListMembers> ();

            foreach (var currentItem in getItems["results"]) {

                ourEventList.Add (new theGuestListMembers () { 
                    listID = currentItem ["objectId"].ToString (),
                    theHeadName = currentItem ["YourName"].ToString ()

                });

        }

如果您只想从列表中删除项目,可以使用 ourEventList.Clear()ourEventList.RemoveAll(ourItem => ourItem != null)

如果你想做的更高级一点,可以使用这个功能:

private bool removeItem(theGuestListMember ourItem)
{
    if (ourItem == null) return false;

    parseAPI.deleteTheGuestList(ourItem);
    return true;
}

并像这样使用它:

async private void OnButtonClickedRemoveEverything(object sender, EventArgs e) 
{
   ourEventList.RemoveAll(ourItem => removeItem(ourItem);

   EmployeeList.ItemsSource = ourEventList; 
   Navigation.PopAsync ();    
}