Search code examples
c#wpfvisual-tree

Move a UserControl from a ContentControl to another one programmatically


In a WPF app I want to move a UserControl from a ContentControl to another one in code:

 myContentControl2.Content = myUserControl;

in this case I get an error:
Specified element is already the logical child of another element. Disconnect it first.

In a ControlControl class description I can see a RemoveVisualChild method, but when I try to use it in code I get an Unknown method error

myContentControl1.RemoveVisualChild(myUserControl);//here I get an "Unknown method" error

Where am I wrong?
How to move a UserControl from a ContentControl to another one in code-behind?


Solution

  • Set

    myContentControl1.Content = null;
    

    to remove myUserControl from myContentControl1 before setting

    myContentControl2.Content = myUserControl;
    

    By the way, don't confuse the logical tree with the visual tree. Get more information in Trees in WPF in the MSDN.