Имеются эллипсы на 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
важен.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Как мне сделать кнопку активной если заполнено поле textBox1 ?
Есть ObservableCollection, которая прибинжена к GridViewВнутри нее объекты, у каждого есть свойство Index
Здравствуйте, я хочу получать уведомления о записи новых событий в журнал "Безопасность", но возникает ошибка доступа к рееструРугается именно...