Set datacontext of child UserControl in WPF

I cannot set the datacontext UserControl (UserControl is nested in another UserControl).

I have the following structure:

Views / ViewModels:

MainControl <-> MainViewModel <br> UserControlA <-> ViewModelA<br> UserControlB <-> ViewModelB<br><br> ViewModels:<br> 

ViewModelB is a property of ViewModelA MainViewModel creates ViewModelA and ViewModelB in ctor .

Views:
MainControl contains UserControlA , which in turn contains UserControlB MainControl sets ViewModelA as a datacontext (works as expected)

 <!-- MainControl Xaml--> <UserControl x:Name="MainControl"> <views:UserControlA DataContext="{Binding ViewModelA}" /> </UserControl> 

In UserControlA I do the same as in MainControl , binding the datacontext of UserControlB to its ViewModel , which is a property in ViewModelA This does not work as expected ...

  <!-- USerControlA Xaml--> <UserControl> ..... ..... <views:UserControlB DataContext="{Binding DataContext.ViewModelB}" /> </UserControl> 
+6
source share
1 answer

Change the datacontext binding for UserControlB to:

 <UserControl> <views:UserControlB DataContext="{Binding ViewModelB}" /> </UserControl> 
+6
source

Source: https://habr.com/ru/post/971479/


All Articles