WPF использует одну ViewModel для нескольких пользовательских элементов управления


Я долго искал ответ на этот вопрос, но так и не смог его найти.

У меня есть мой основной Window и 4 разных UserControls. Window строится из всех 4 UserControls.

У меня есть класс, который является Window s ViewModel.

Я хочу установить DataContext из Window и все 4 UserControls Как Window s ViewModel.

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

Как это сделать?

1 2

1 ответ:

DataContext наследуется в WPF.

Если вы не зададите DataContext для UserControl, они автоматически унаследуют DataContext своего родителя (Window) и должны использовать вашу ViewModel напрямую.