I have built an application with the Telerik WPF UI which is used to host other application using the Win32 SetParent function. Basically I can use it to host a number of other applications, similar as to how Chrome or Edge works. It works fine: I can host any application inside a number of radpanes. To achieve this, I have a WindowsFormsHost with a Panel on it. I use the Hwnd of the Panel to reparent the window of another process.
However, when I start undocking a pane by dragging it, the reparented window suddenly disappears and the pane is empty. I tried to handle this by listening to the PaneStateChange and PreviewPin events but that is not enough. I need to know that the pane will become undocked so I can park the parented window somewhere else while the pane is made to float. Is there a formal way to achieve this?