2011-11-28 85 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中没有拷贝构造函数。据我了解,它不是为了做这样的事情而设计的。 –