Когда вы используете DataTemplate
из DataGrid
, вы не можете использовать привязки ElementName
, так как они не будут обрабатываться должным образом из-за ограничений возможностей разрешения FindControl
в иерархии элементов управления DataGrid. Вам необходимо использовать привязку RelativeSource
, которая перемещается вверх по дереву элементов управления в поисках определенного типа элемента управления (, который необходимо определить - исходя из имени вашего элемента, я предположил, что это был DataGrid
тип предка ).
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox
SelectedItem="{Binding Operators}"
ItemsSource="{Binding DataContext.OperatorList,
RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"
/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
См. это сообщение SO , в котором используется некоторый потенциально связанный пример кода, использующий MVVM для доступа к DataContext
хоста UserControl
для заполнения ComboBox ItemsSource
.