Можно ли привязать DataContext из UserControl к свойству

У меня есть пользовательский элемент управления, который я хотел бы использовать в двух разных контекстах. Пользовательскому элементу управления необходимо установить в свой DataContext экземпляр соответствующего ViewModel, который был создан родительским представлением / моделью представления.

Я надеялся на что-то вроде:

<local:Child DataContext="{Binding ChildViewModel}"/>

где ChildViewModel - это свойство ViewModel в стиле inpc, к которому привязана страница.

Это не похоже на работу. Можно ли назначить DataContext с помощью Binding?

1 ответ

Решение

Вероятно, было бы проще привязать ContentControl к вашему дочернему ViewModel следующим образом:

<ContentControl Content="{Binding ChildViewModel}" />

..и затем есть DataTemplate для применения вашего локального: дочернего вида, как это

<DataTemplate DataType="{x:Type local:ChildViewModel}">
    <local:Child />
</DataTemplate>
Другие вопросы по тегам