¿Hay alguna manera posible de eliminar (eliminar) todas las imágenes (elementos secundarios) agregadas a un Canvas
en C# (en WFP)?Borrar todas las imágenes agregadas al lienzo
16
A
Respuesta
35
¿Quiere decir que solo quiere eliminar todos los elementos secundarios?
canvas.Children.Clear();
parece que debería hacer el trabajo.
EDIT: Si única desea eliminar los Image
elementos, puede utilizar:
var images = canvas.Children.OfType<Image>().ToList();
foreach (var image in images)
{
canvas.Children.Remove(image);
}
Esto supone que todas las imágenes son directos elementos secundarios, aunque - si desea eliminar Image
elementos bajo otros elementos, se vuelve más complicado.
6
Dado que la colección de elementos secundarios de un lienzo es una colección UIElementCollection y hay muchos otros controles que usan este tipo de colección, podríamos agregar el método remove a todos ellos con un método de extensión.
public static class CanvasExtensions
{
/// <summary>
/// Removes all instances of a type of object from the children collection.
/// </summary>
/// <typeparam name="T">The type of object you want to remove.</typeparam>
/// <param name="targetCollection">A reference to the canvas you want items removed from.</param>
public static void Remove<T>(this UIElementCollection targetCollection)
{
// This will loop to the end of the children collection.
int index = 0;
// Loop over every element in the children collection.
while (index < targetCollection.Count)
{
// Remove the item if it's of type T
if (targetCollection[index] is T)
targetCollection.RemoveAt(index);
else
index++;
}
}
}
Cuando esta clase está presente, simplemente puede eliminar todas las imágenes (o cualquier otro tipo de objeto) con la línea.
testCanvas.Children.Remove<Image>();
Cuestiones relacionadas
- 1. Cómo agregar imágenes al lienzo
- 2. Eliminar todas las imágenes
- 3. Borrar caché CATiledLayers al cambiar imágenes
- 4. Cómo subir imágenes al lienzo de HTML5
- 5. Imágenes vinculadas a imágenes agregadas a archivos resx usando XAML
- 6. cómo borrar todas las filas de UITableView
- 7. R: cómo borrar todas las advertencias
- 8. Borrar todas las filas en la tabla
- 9. Borrar todas las suscripciones a eventos (clonadas)
- 10. SQL borrar todas las filas excepto algunos
- 11. Borrar todas las macros vim actualmente definidas
- 12. Cómo borrar todas las cookies con jQuery
- 13. ¿Borrar todas las actividades en una tarea?
- 14. macro de Visual Basic en Word cambiar el tamaño/Centro/Borrar todas las imágenes
- 15. Android listar todas las imágenes disponibles
- 16. jQuery se desvanecen todas las demás imágenes
- 17. Obtener todas las imágenes url de cadena
- 18. Copie las imágenes javascript hechas al portapapeles
- 19. cómo intercambiar imágenes en lienzo en android?
- 20. Imágenes agregadas a AnimationDrawable memoria de pérdida programada
- 21. Borrar/restablecer un modelo en qt (eliminar todas las filas)
- 22. ¿Cómo borrar todas las filas de un TableLayout?
- 23. Borrar todas las líneas que comienzan con # o; en Notepad ++
- 24. ¿Cómo borrar todas las bases de datos en Postgres?
- 25. ¿Cómo borrar la rama con todas las confirmaciones enviadas al depósito incorrecto?
- 26. ¿Todas las imágenes de la tienda son las imágenes base, pequeñas y en miniatura de Magento?
- 27. Ajustar todas las imágenes con un div usando DOMDocument
- 28. Excepciones agregadas
- 29. ¿Cómo realiza Apache Cassandra las operaciones agregadas?
- 30. Error al borrar todas las tablas "Eliminar fracasado porque las siguientes opciones SET tienen una configuración incorrecta: 'QUOTED'"