В моем RadDataGrid я должен использовать DataGridTemplateColumn, потому что Itemssource моего комбинированного списка - это коллекция, которая является свойством объекта, представленного строкой сетки. У меня все работает, за исключением того факта, что поле со списком всегда доступно для редактирования. Другими словами, поле и стрелка раскрывающегося списка всегда видны. На снимке экрана ниже первый столбец представляет собой DataGridComboBoxColumn. Вторым является DataGridTemplateColumn. Ни один столбец не был нажат. (Обратите внимание, что заголовки столбцов не в кадре.)
![enter image description here](https://i.stack.imgur.com/G7LuZ.png)
В обычном столбце со списком в RadDataGrid поле со списком не отображается, если вы дважды не щелкнете по столбцу. Пока вы не нажмете, столбец просто отображает выбранный элемент. В моих столбцах поле и стрелка раскрывающегося списка всегда видны до и после нажатия на столбец или после него.
Как я могу изменить это на типичное поведение? Я хочу, чтобы пользователь щелкнул в столбце, прежде чем поле и стрелка раскрывающегося списка станут видимыми. До этого в столбце просто отображается выбранный элемент. Вот мой код:
<tg:DataGridTemplateColumn SizeMode="Auto">
<tg:DataGridTemplateColumn.CellContentTemplate>
<DataTemplate>
<ComboBox Width="220"
ItemsSource="{Binding Path=ItemCategory.Items, Mode=OneWay}"
SelectedItem="{Binding Products, Mode=TwoWay}"
SelectedValue="{Binding Products.Id, Mode=OneWay}"
SelectedValuePath="Id"
DisplayMemberPath="ItemName">
</ComboBox>
</DataTemplate>
</tg:DataGridTemplateColumn.CellContentTemplate>
<tg:DataGridTemplateColumn.Header>
<TextBlock.Text = "Item Category"/>
</tg:DataGridTemplateColumn.Header>
</tg:DataGridTemplateColumn>