从堆栈面板中删除除第一个项目以外的所有项目

本文关键字:项目 第一个 堆栈 删除 | 更新日期: 2023-09-27 18:30:31

标题说明了一切 - 如何从堆栈面板中删除除第一个项目之外的所有项目?Clear() 只是将它们全部删除,在这种情况下不起作用。RemoveAt() 并没有真正的帮助。在任何给定时间,堆栈面板中都没有固定数量的项目。

从堆栈面板中删除除第一个项目以外的所有项目

panel.Children.RemoveRange(1, panel.Children.Count - 1);

请参阅RemoveRange函数 (MSDN)。

上面的代码将第二个项目的所有子项删除到 count - 1(因为您想保留第一个元素)。

对于Windows Phone 8,你没有这个功能,所以你需要做这样的事情:

//Reversed to avoid the collection mutation exception
foreach (UIElement item in panel.Children.Skip(1).Reverse())
    panel.Remove(item);

没有那么"聪明",但它简短,很明显你在做什么!