在我的RadDataGrid中,我必须使用DataGridTemplateColumn,因为组合框的Itemssource是一个集合,该集合是网格行表示的对象的属性。除了组合框始终是可编辑的事实之外,我已经可以正常使用了。换句话说,方框和下拉箭头始终可见。在下面的屏幕快照中,第一列是DataGridComboBoxColumn。第二个是DataGridTemplateColumn。均未单击任何列。 (请注意,列标题不在镜头中。)
在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>