Upuść okno w innym oknie

Moje wydarzenie drop

private void Window_Drop(object sender, DragEventArgs e)
{
    var window = e.Data.GetData(typeof(Window)) as Window;
    if (window != null)
    {
        var tabitem = new TabItem();
        tabitem.Content = window.Content;
        tabcontrol1.Items.Add(tabitem);
        window.Close();
    }
}

Moje główne okno XAML

 <Window x:Class="WpfApplication2.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525" Drop="Window_Drop">

Nic się nie dzieje, żaden pomysł, dlaczego?

Jak mogę upuścić dowolne okno w mojej aplikacji do głównego okna?

zademonstrować, co próbuję zrobić tabitem5 i tabitem2 zostały przeciągnięte poza okno główne, a tym samym stały się niezależnymi oknami, teraz próbuję odwrócić proces i uczynić je kartami ponownie, przeciągając je do głównego okna

Podaję nagrodę za pełną próbkę kodu, kartę do okna i okno na kartę, rozwiązanie mvvm jest również dopuszczalne

questionAnswers(1)

yourAnswerToTheQuestion