Привязка WPF к родительскому DataContext

У нас есть приложение WPF со стандартным шаблоном MVVM, использующее Cinch (и, следовательно, MefedMVVM) для View -> Разрешение ViewModel. Это хорошо работает, и я могу связать соответствующие элементы управления со свойствами ViewModel.

В рамках определенного View у нас есть Infragistics XamGrid. Эта сетка привязана к ObservableCollection в ViewModel и отображает соответствующие строки. Однако в этой сетке у меня есть определенный столбец, в котором я пытаюсь привязать текстовое значение TextBox к свойству родительского DataContext, а не к ObservableCollection. Эта привязка не работает.

Мы'мы прошли через несколько вариантов, включая:

Использование AncestorType для отслеживания дерева и привязки к DataContext родительского UserControl следующим образом (изотличный ответ на этот вопрос, а такжеэтот) ...

{Binding Path=PathToProperty, RelativeSource={RelativeSource AncestorType={x:Type typeOfAncestor}}}

Указание ElementName и попытка напрямую нацелить элемент управления верхнего уровня. ЕстьСмотри сюда если ты'Я хотел бы прочитать об использовании ElementName.

Используя 'прокси» FrameorkElement, определенный в ресурсах для UserControl, чтобы попытатьсяпройти в ' контекст по мере необходимости. Мы определяем элемент, как показано ниже, а затем ссылаемся на статический ресурс ...


В этом случае привязка находит FrameworkElement, но не может получить доступ к чему-либо кроме этого (при указании Path).

Прочитав, кажется весьма вероятным, что это вызвано строительными колоннами Infragistics XamGrid вне дерева. Однако, даже если это так, по крайней мере варианты 2 или 3 должны работать.

Мы думаем, что это связано с привязкой V-VM, но даже используя Snoop, мыМы еще не выяснили, в чем именно заключается проблема. Я'm ни в коем случае не эксперт с привязкой WPF, поэтому любые указатели будут оценены.

РЕДАКТИРОВАТЬ: я нашел несколько примеров шаблонов от InfragisticsВот что я попробую.

РЕДАКТИРОВАТЬ 2: Как указывает @Dtex, шаблоны являются подходящим способом. Вот соответствующий фрагмент для использования с XamGrid: I '


                
                    
                        
                    
                
                

Вы оставили XML открытым ... выпросто добавьте нужные столбцы и закройте соответствующие теги. "

Ответы на вопрос(2)

Ваш ответ на вопрос