2011-06-08 74 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

你能顯示填充列表的代碼嗎? – 2011-06-08 00:10:34

回答

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 2011-06-08 00:16:09

+2

@viktorb - 你好viktorb。如果亞歷克斯的答案爲你工作,那麼你可以將其標記爲答案,以便其他人都清楚你的問題已經解決:) – keyboardP 2011-06-08 00:30:46

+0

完成:D謝謝你 – judehall 2011-06-08 12:31:41