У меня есть страница с тремя дочерними элементами управления пользователя. Я установил ресурс модели представления DataContext на родительской странице, и три дочерних элемента управления ссылаются на родительский элемент DataContext, поскольку все 3 дочерних элемента управления используют один и тот же ViewModel. Все хорошо.
Однако у одного из UserControls есть проблемы с привязкой (я вижу это из-за новой функции отладки XAML в Silverlight 5 Beta.) Рассматриваемый UserControl - это ItemsControl. Внутри каждого элемента есть кнопка и 2 текстовых поля. Эта кнопка связана с Командой. Ошибка в том, что кнопка не может найти свою привязку. 2 текстовых поля являются обязательными. ItemSource элемента ItemsControl привязан к ObservableCollection в модели представления.
Мой вопрос заключается в следующем: как я могу сказать кнопке искать ее привязку «на более высоком уровне», чем наблюдаемая коллекция, т. Е. Перейти к модели представления, а не к вашему непосредственному родителю (наблюдаемая коллекция). Вы не можете установить DataContext
для кнопки в ChildControl
, потому что там нет ссылки на модель вида. Это в родителе.