带ContentControl的WPF TabControl

我在SO上搜索了很多,并没有找到我的问题的答案。 我想将TabControl与MVVM一起使用。 以下是我将TabControl添加到MainWindow.xaml的方法

                       

PageViewModels是ObservableCollectionIPageViewModel是一个具有一个属性Name简单接口。 此接口有两个实现PartnersViewModelProjectsViewModel

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

我希望每个选项卡都显示为ContentControl。 标题文本取自Name属性。 我的ProjectsView和PartnersView看起来像这样:

    

使用此代码, TabControl标题和内容完全相同。 “项目内容”/“合作伙伴内容”显示在选项卡标题中,并且(在标签内容中也可以)。 当我将更改为标签时,标题包含datagrid(sic!)。 我怎样才能使其正常工作。 我的意思是如何将标题显示为属性Name和标签内容的值作为正确呈现的具体取决于PageViewModels

你的代码应该工作,没有IDE atm。 您还可以使用Snoop在运行时检查绑定。 我将ContentTemplate更改为:

       

它的工作原理。 但即使你的代码也适用于我的testapp。

我发现了极乐世界的解决方案。 在下面添加fter添加代码一切正常。