Прямоугольники в StackPanel

Я пытаюсь вставить несколько прямоугольников в стеке, но я продолжаю получать ошибку. Элемент уже является дочерним элементом другого элемента. То же самое происходит, если я использую холст.

Пример:

List<rectangle> recList = new List<rectangle>();
</rectangle></rectangle>

... поместите некоторые прямоугольники в список

StackPanel stack = new StackPanel();
foreach(var item in recList)
 stack.Children.Add(item); // get error here on 2nd item trying to add
uiStackPanel.Children.Add(stack); // declared in XAML

Я хочу иметь возможность динамически вставлять прямоугольники в горизонтальной ориентации. По данным Интернета, я должен быть в состоянии сделать это (по крайней мере вручную), но...

Что делать, что делать?:)

1 ответ

Кажется, вы добавляете один и тот же прямоугольник более одного раза.

Если вам нужно добавить разные прямоугольники, чем код будет выглядеть так:

var list = new List<rectangle>();
for (int i = 0; i < 10; i++)
{
 list.Add(new Rectangle());
}
var panel = new StackPanel();
foreach (var rectangle in list)
{
 panel.Children.Add(rectangle);
}
</rectangle>

Этот код работает.

licensed under cc by-sa 3.0 with attribution.