Reputation: 21098
I have a user control that I would like to use in two different contexts. The user control needs its DataContext set to an instance of an appropriate ViewModel that has been created by the parent view/viewmodel.
I was hoping for something like:
<local:Child DataContext="{Binding ChildViewModel}"/>
where ChildViewModel is a inpc-styled property of the ViewModel that the page is bound to.
That doesn't seem to work. Is it possible to assign the DataContext by using Binding?
Upvotes: 1
Views: 456
Reputation: 3764
It would probably be simpler to bind the Content of an ContentControl to your child ViewModel like this:
<ContentControl Content="{Binding ChildViewModel}" />
..and then have a DataTemplate to apply your local:Child View, like this
<DataTemplate DataType="{x:Type local:ChildViewModel}">
<local:Child />
</DataTemplate>
Upvotes: 1