If you are using an MVVM pattern, you should be able to do this:
When you drag the tab item out of the tab control, send a command to the VM to which creates a new window, passes the original datasource from the view (the tab item) to the window, then remove the tab item from its parent (the tab control) via a command to the parent VM.