Próbuję utworzyć aplikację przy użyciu wzorca MVVM z zagnieżdżonych viewmodels. Master viewmodel to ShellView, który zawiera trzy kontrolki UserControl, z których każdy ma swój własny model widoku. ShellView ViewModel jest tworzony w kodzie-za tak:Ustawianie datacontekstu UserControl na ViewModel zdefiniowany w nadrzędnej viewmodel
public ShellView()
{
InitializeComponent();
_shellViewModel = new ShellViewModel();
DataContext = _shellViewModel;
}
Teraz moja ShellViewModel zawiera inne ViewModels jak właściwości:
public CustomerViewModel CustomerViewModel { get; set; }
public ContactsViewModel ContactsViewModel { get; set; }
Jak uzyskać dostęp do tych właściwości z XAML z UserControls? Chciałbym móc zrobić coś takiego:
DataContext="<<ParentWindowViewModel>.CustomerViewModel>
Jak mogę to zrobić? Próbowałem już:
DataContext="{Binding DataContext.CustomerViewModel, RelativeSource={RelativeSource FindAncestor, AncestorType=Window, AncestorLevel=1}, Path=DataContext.CustomerViewModel}">
ale debugger mówi „Nie można rozwiązać właściwość«CustomerViewModel»w kontekście danych typu«obiektu»Każda pomoc będzie mile widziane