DataContext
действительно является одним из основных ключей к системе привязки в WPF. Когда вы проектируете свое представление (XAML), вы настраиваете привязки данных, но все они выполняются по имени (фактически, в виде строки). «Ближайший» DataContext
вверх по визуальной иерархии - это объект, который WPF использует, чтобы найти соответствующее свойство (по имени) и связать привязку.
Предложение размещения комментария является хорошим - оно помогает, потому что выбранные имена действительно зависят от ViewModel (DataContext
), поэтому XAML-файл View действительно привязан к определенному типу DataContext
.
Обратите также внимание, что существуют другие подходы для подключения DataContext, кроме установки его в коде, включая использование локаторов, шаблонов данных, установку его непосредственно в XAML и т. Д.