Uzyskanie rodzica nowej karty po dodaniu do powiązanego TabControl (mvvm)

Dodaję przycisk zamykania do moich kart, korzystając z następującego przewodnika:

http://www.codeproject.com/Articles/84213/How-to-add-a-Close-button-to-a-WPF-TabItem

Stało się to problemem, ponieważ zdarzenie używa „rodzica” dodanej karty, aby usunąć tę kartę z kontrolki tabulacji. Wiążę formant tabulacji za pomocą mvvm, więc właściwość parent najwyraźniej nie jest ustawiana i daje mi wyjątek odniesienia null dla rodzica, gdy zdarzenie próbuje usunąć z niego.

Oto oprawa, więc masz pomysł:

<TabControl Name="tabControl" Margin="0,22,0.2,-5.2" ItemsSource="{Binding Tabs}" Background="#FF4C76B2"/>

Herezje, gdzie dodawane są zakładki.

private void AddTab(object tabName)
{
    ClosableTab newTab = new ClosableTab();
    newTab.Title = "title?";
    //newTab.Header = tabName;
    TextBox test = new TextBox();

    test.Text = "CONTENT (" + tabName + ") GOES HERE";
    newTab.Content = test;

    Tabs.Add(newTab);
    OnPropertyChanged("Tabs");
}

Oto wydarzenie, w którym ma miejsce zerowe odniesienie:

void button_close_Click(object sender, RoutedEventArgs e)
{
    ((TabControl)this.Parent).Items.Remove(this);
}

Jak widzę, istnieją dwie opcje:

spróbuj znaleźć inny sposób usunięcia karty (bez właściwości nadrzędnej)spróbuj znaleźć sposób, aby w jakiś sposób ustawić właściwość parent (która nie może być wykonana bezpośrednio, zgłasza błąd kompilatora)

questionAnswers(1)

yourAnswerToTheQuestion