Réglage datacontext de UserControl à ViewModel défini dans le parent viewmodel

Je suis en train de créer une application utilisant le pattern MVVM avec imbriquée viewmodel. Le maître viewmodel est ShellView qui contient trois UserControls, chacun avec leur propre viewmodel. Le ShellView ViewModel est créé dans le code-behind de la sorte:

public ShellView()
{
    InitializeComponent();
    _shellViewModel = new ShellViewModel();
    DataContext = _shellViewModel;
}

Maintenant, mon ShellViewModel contient les autres Viewmodel en tant que propriétés:

    public CustomerViewModel CustomerViewModel { get; set; }

    public ContactsViewModel ContactsViewModel { get; set; }

Comment puis-je accéder à ces propriétés dans le code XAML de la UserControls? Je voudrais être en mesure de faire quelque chose comme:

DataContext="<<ParentWindowViewModel>.CustomerViewModel>

Comment puis-je accomplir? J'ai déjà essayé:

DataContext="{Binding DataContext.CustomerViewModel, RelativeSource={RelativeSource FindAncestor, AncestorType=Window, AncestorLevel=1}, Path=DataContext.CustomerViewModel}">

mais le débogueur dit "Impossible de résoudre des problèmes de propriété CustomerViewModel" dans le contexte de données de type "objet". Toute aide serait appréciée.

OriginalL'auteur ZymLink | 2012-12-06