Вот фрагмент кода, который не требует пояснений:
while (myInkPresenter.Children.Count > 0)
{
myInkPresenter.Children.RemoveAt(myInkPresenter.Children.Count - 1);
}
Тогда я подумал, что лучшим способом может быть:
foreach (UIElement item in myInkPresenter.Children)
{
myInkPresenter.Children.Remove(item);
}
Однако это приводит к ошибке: операция недопустима из-затекущее состояние объекта.Поэтому я подумал и добавил дополнительную строку кода:
foreach (UIElement item in myInkPresenter.Children)
{
myInkPresenter.Children.Remove(item);
if (myInkPresenter.Children.Count == 0) break;
}
, и теперь он работает нормально.
Мой вопрос в том, является ли это ошибкой, или мне по какой-то причине следует ожидать такого поведения