2011-06-08 20 views
3

スタックパネルに複数の矩形を挿入しようとしていますが、「要素はすでに別の要素の子です」というエラーが発生しています。キャンバスを使うと同じことが起こります。StackPanelの四角形

例:

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 

をいくつかの長方形を置きます。 インターネットによれば、私はこれを(手動では少なくとも)行うことができるはずですが、...

何をすればいいですか? :)

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

このコードは動作します。

+0

こんにちは@Alex Aza ありがとうございました! – judehall

+2

@viktorb - こんにちは。アレックスの答えがあなたのために働いていれば、あなたはあなたの質問が解決されたことが誰にも分かるように答えとしてマークすることができます:) – keyboardP

+0

完了:Dありがとう – judehall

関連する問題