WPF TabControl mit ContentControl

Ich habe viel auf SO gesucht und keine Antwort auf meine Probleme gefunden. Ich möchte TabControl mit MVVM verwenden. So füge ich TabControl zu MainWindow.xaml @ hin

<Window.Resources>
        <DataTemplate DataType="{x:Type models:PartnersViewModel}">
            <views:PartnersView />
        </DataTemplate>
        <DataTemplate DataType="{x:Type models:ProjectsViewModel}">
            <views:ProjectsView />
        </DataTemplate>
    </Window.Resources>

    <Window.DataContext>
        <models:ApplicationViewModel/>
    </Window.DataContext>

    <TabControl ItemsSource="{Binding PageViewModels}"  TabStripPlacement="Left">
        <TabControl.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Name}" />
            </DataTemplate>
        </TabControl.ItemTemplate>
        <TabControl.ContentTemplate>
            <DataTemplate>
                <ContentControl Content="{Binding}" />
            </DataTemplate>
        </TabControl.ContentTemplate>
    </TabControl>

PageViewModels istObservableCollection<IPageViewModel>. IPageViewModel ist eine einfache Schnittstelle mit einer EigenschaftName. Es gibt 2 Implementierungen dieser SchnittstellePartnersViewModel undProjectsViewModel.

public class ProjectsViewModel : IPageViewModel
{
    public String Name
    {
        get { return "Projects"; }
    }
}

public class PartnersViewModel : IPageViewModel
{
    public String Name
    {
        get { return "Partners"; }
    }
}

Ich möchte, dass jede Registerkarte als ContentControl angezeigt wird. Der Kopfzeilentext stammt aus der Eigenschaft Name. Meine ProjectsView und PartnersView sehen so aus:

<UserControl x:Class="WANIRPartners.Views.ProjectsView"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" >
  <Grid>
    <Label Content="Projects Content" />
  </Grid>
</UserControl>

Mit diesem Code, Header und Inhalt inTabControl ist genau das gleiche. 'Projektinhalt' / 'Partnerinhalt' werden in Registerkartenüberschriften und (dies ist in Ordnung) auch in Registerkarteninhalten angezeigt. Wenn ich @ ände<Label/> zu<DataGrid/> tab-Header enthält Datagrid (sic!). Wie kann ich das richtig zum Laufen bringen? Ich meine, wie kann ich Header als Wert von Eigenschaft @ anzeigName und Tab-Inhalt als richtig gerendert<views:PartnersView /> oder<views:ProjectsView /> je nachdem was in @ iPageViewModels.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage