Если вы используете Prism, то вы можете использовать RegionContext.
Укажите RegionContext для TabControl:
<TabControl cal:RegionManager.RegionName="MyTabControl"
cal:RegionManager.RegionContext="{Binding Path=ViewModel}">
И доступ к нему из представлений, добавленных в этот регион, с использованием статического метода GetObservableContext для RegionContext:
void ViewConstructor()
{
this.ViewModel = (MyViewModel)RegionContext.GetObservableContext(this).Value;
}
Если вы не используете Prism, вы можете зарегистрировать вашу ViewModel как именованный экземпляр:
Container.RegisterInstance<IMyViewModel>("viewModelName", new MyViewModel());
и получите позже, используя:
Container.Resolve<IMyViewModel>("viewModelName");