2011-04-25 104 views
0

我有一個WrapPanel 隨着名「PageWrapPanel」 在我的WPF應用程序添加多個堆棧板.........

現在我的努力的主窗口中添加一個堆疊面板五次在這裹面板... 。

StackPanel stkPnl = new StackPanel(); 
      stkPnl.Width = 300; 
      stkPnl.Height = 150; 
      stkPnl.Background = Brushes.DarkKhaki; 

      for (int i = 0; i < 5; i++) 
      { 
       PageWrapPanel.Children.Add(stkPnl); 
      } 

但它不工作...。 什麼問題?

回答

2

您不能在邏輯樹中的多個位置添加相同的元素。您需要添加五個完全相同的StackPanel

for (int i = 0; i < 5; i++) 
{ 
    StackPanel stkPnl = new StackPanel(); 
    stkPnl.Width = 300; 
    stkPnl.Height = 150; 
    stkPnl.Background = Brushes.DarkKhaki; 
    PageWrapPanel.Children.Add(stkPnl); 
} 

BTW,這應該是從你所得到的異常的錯誤消息明顯(「指定的元素已經是另一個元素的邏輯子」),你完全應該提供而不是讓人們的猜測。

1

嘗試把StackPanel中創建的循環

for (int i = 0; i < 5; i++) 
{ 
    StackPanel stkPnl = new StackPanel(); 
    stkPnl.Width = 300; 
    stkPnl.Height = 150; 
    stkPnl.Background = Brushes.DarkKhaki; 
    PageWrapPanel.Children.Add(stkPnl); 
} 

否則,您必須設法安置在WrapPanel相同的StackPanel不止一次,這是你的錯誤的來源。