2014-12-20 2 views
0

В проекте я создаю родительский вид A с DataContext; В другом проекте я создаю вид B без Datacontext для ввода в поле зрения A. В этом случае B наследует Datacontext A?Как делиться datacontext в вложенных представлениях с помощью призмы?

Если нет, должен ли я создавать dataContext для каждого вида и использовать RegionManager.RegionContext, чтобы разделить какое-то свойство между ними?

+0

Если он вставлен в представление, да, он наследует DataContext от родителя, если он явно не устанавливает DataContext. Он похож на вставку UserControl, он по умолчанию наследует родительский DataContext. Когда создается ваше представление B, он начинает искать локальное значение DataContext. Если результат не найден, он распространяется до корня и, поскольку вы вставили B в A, корневой элемент A становится корневым элементом для B. – Maximus

ответ

1

Да, это так, если ваш дочерний вид находится в логическом дереве вашего родительского представления. Пожалуйста, прочитайте MSDN.

Это свойство зависимости наследует значения свойств. Если есть дочерние элементы без других значений для DataContext, установленных через локальные значения или стили , тогда система свойств установит значение значением DataContext ближайшего родительского элемента с этим значением .

Смежные вопросы