2011-11-28 88 views
-2

這裏是場景,我有一個名爲「ADD MORE」的按鈕,添加了組合框和按鈕。我想添加在dockpanel下的組合框和按鈕。所有的DockPanel都在StackPanel下。動態添加DockPanel到StackPanel

在發生某些事件後,我想在C#for WPF中出現按鈕事件後,將另一個Dockpanel添加到StackPanel。我正在做我添加到StackPanel的Dockpanel,但我得到例外。

你能幫我解決這個問題嗎?我得到這個異常「指定的視覺已經是另一個視覺的孩子或CompositionTarget的根」。

問候, 開發

+4

你遇到了什麼異常? – seanzi

+3

如果你更具體,你會有更好的運氣幫助你。確切的錯誤將是一個好的開始。你使用的代碼創建錯誤會更好。 – Beska

回答

2

很難幫助你時,你不提供你的代碼,但在這裏是被添加到一個StackPanel已經在窗體上存在的DockPanel中的一個例子。兩個按鈕被添加到DockPanel來說明它的工作原理。

private void button1_Click(object sender, RoutedEventArgs e) 
    { 
     DockPanel dp = new DockPanel(); 
     Button btn = new Button(); 
     btn.Content = "Hello1"; 
     //Add the button to the DockPanel 
     dp.Children.Add(btn); 
     btn = new Button(); 
     btn.Content = "Hello2"; 
     //Add the button to the DockPanel 
     dp.Children.Add(btn); 
     //Add the DockPanel to the StackPanel 
     stackPanel1.Children.Add(dp); 
    } 

發佈您的代碼,如果這個簡單的例子是沒有幫助你,讓我們可以嘗試和幫助你。

+0

謝謝你。這是我手動編寫的代碼。 http://stackoverflow.com/questions/8300318/duplicating-the-button-and-adding-it-to-dockpanel-in-wpf-c – user1069622

+0

我想知道,有什麼方法可以直接複製UI項目。像按鈕的複製構造函數。 如果我在我的XAML中有按鈕,並且我想複製該按鈕並在DockPanel中添加另一個按鈕或在StackPanel中添加Dockpanel,如果我這樣做,我得到此異常「指定的Visual已經是另一個Visual或根組合目標「 – user1069622

+0

@ user1069622 WPF中沒有拷貝構造函數。據我瞭解,它不是爲了做這樣的事情而設計的。 –