Имеются эллипсы на Canvas
:
void Ellipses(double x, double y)
{
var e = new Ellipse()
{
Height = 10,
Width = 10,
Fill = new SolidColorBrush(Color.FromRgb(124, 109, 177)),
Name ="A"
};
canvas.Children.Add(e);
Canvas.SetLeft(e, x - 5);
Canvas.SetBottom(e, y - 5);
list.Add(e);
}
Хочу их удалить. Но проблема в том, что он удаляет не все, а как то пропускает их через одного
void DeleteEllipse()
{
//foreach (UIElement item in canvas.Children)
//{
// if (item is Ellipse)
// canvas.Children.Remove(item);
//}
for (int i = 0; i < canvas.Children.Count; i++)
{
if (canvas.Children[i] is Ellipse)
canvas.Children.RemoveAt(i);
}
}
Почему эллипсы удаляется через один или через два?
Проще всего не возиться с индексами, с риском ошибиться, а удалить всех одним махом:
canvas.Children.Clear();
Если не-эллипсы нужно оставить, попробуйте так:
foreach (var el in canvas.Children.OfType<Ellipse>().ToList())
canvas.Children.Remove(el);
ToList
важен.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как мне сделать кнопку активной если заполнено поле textBox1 ?
Есть ObservableCollection, которая прибинжена к GridViewВнутри нее объекты, у каждого есть свойство Index
Здравствуйте, я хочу получать уведомления о записи новых событий в журнал "Безопасность", но возникает ошибка доступа к рееструРугается именно...