3

スタックパネルに複数の四角形を挿入しようとしていますが、「要素は既に別の要素の子です。」というエラーが表示され続けます。キャンバスを使用しても同じことが起こります。

例:

List<Rectangle> recList = new List<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

長方形を水平方向に動的に挿入できるようにしたい。インターネットによると、私はこれを(少なくとも手動で)できるはずですが...

どうしよう、どうしよう。:)

4

1 に答える 1

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);
}

このコードは機能します。

于 2011-06-08T00:11:37.680 に答える