Найти и удалить объект по его Uid/Name. WPF C#

300
20 августа 2017, 03:06

Имеется Canvas, для него есть несколько дочерних объектов Image с прописанными Uid/Name. Возможно ли из кода бихаинд найти заданные Image по Uid/Name и удалить их из Canvas?

Answer 1

Если нужно удалить по 1 элементу, то можно попробовать что то по типу:

var image = canvas1.Children.OfType<Image>().FirstOrDefault(x=>x.Name == "Image1"); //В нашем canvas (c именем canvas1) находим объект типа Image с именем Image1.
canvas1.Children.Remove(image); //Удаляем из canvas1 дочерний элемент, найденный ранее.

Можно взять все элементы из canvas1, преобразовать их в List и пройтись по дочерним элементам циклом:

var images = canvas1.Children.OfType<Image>().ToList(); //Все элементы типа Image в нашем подопытном canvas1
foreach (var image in images)
{
    if (image.Name == "Image1") //Соответствие на имя.
        canvas1.Children.Remove(image); //Удаляем
}
READ ALSO
Как воспроизводить файлы с помощью winmm.dll в C#?

Как воспроизводить файлы с помощью winmm.dll в C#?

Всем приветПытаюсь воспроизвести файл

233
Как удалить первую найденную цифру в строке с помощью JavaScript?

Как удалить первую найденную цифру в строке с помощью JavaScript?

Есть строка var text = " Привет мир9! Сегодня 17 августа";

313
Angular 4 gitlab ci

Angular 4 gitlab ci

Cannot read property 'length' of undefined

389