Usted puede utilizar LINQ, esta es una manera de hacerlo.
canvas1.Children.OfType<Button>().ToList().ForEach(b => canvas1.Children.Remove(b));
O puede recorrer todos los elementos secundarios y, si se trata de un botón, agregarlos a una lista y finalmente eliminarlos. no quite los botones dentro del ciclo foreach.
List<Button> toRemove = new List<Button>();
foreach (var o in canvas1.Children)
{
if (o is Button)
toRemove.Add((Button)o);
}
for (int i = 0; i < toRemove.Count; i++)
{
canvas1.Children.Remove(toRemove[i]);
}
LINQ way es más legible y simple y menos codificación.
Finalmente, simple y correcto. ¡Gracias! Algunas notas sobre el rendimiento? – Nick
@Nick no habrá diferencia de rendimiento en LINQ y normal, prefiero el modo LINQ. es su elección decidir cuál prefirió – Damith
Voto abajo Por favor deje un comentario, si hay algo mal aquí – Damith