我试图在DataGrid中跳过一次额外的点击来选择comboBox项目。默认情况下,您需要3次点击:焦点细胞 - > Edite模式 - >拉单。
此代码:
<DataGridComboBoxColumn.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="IsEditing" Value="True" />
</Trigger>
</Style.Triggers>
</Style>
</DataGridComboBoxColumn.CellStyle>
它为我工作,但每个列单元只有一次。第一次它工作正常,然后如果我点击其他地方并点击相同的单元格,我需要3次点击,如默认。
一些说明: 我尝试了这个变种:
<Trigger Property="IsFocused" Value="True">
<Setter Property="IsEditing" Value="True" />
</Trigger>
但它弄乱了我的绑定方案(它没有拉动comboBox项目列表)。
此外,我在其他地方使用此代码:
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="IsEditing" Value="True" />
</Trigger>
但是它只需点击一下即可获取列表,在某些情况下我不想要它。
答案 0 :(得分:0)
当我遇到这个问题时,我用模板列替换了combobox列,并将单元格模板设置为组合框。
然后我意识到使用组合框处理模板列要容易得多,而不是使用comboboxColumn
答案 1 :(得分:0)
可能你已经检查了这个,但点击了另一个项目后是否重置了“IsEditing”?也许添加默认值实际上是假的?