我正在尝试跳过DataGrid中用于选择comboBox项的额外单击。默认情况下,您需要单击3次:焦点单元格->编辑模式->拉列表。
此代码:
<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>
但它搞砸了我的绑定方案(它不会拉出组合框项目列表)。
我也在其他地方使用此代码:
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="IsEditing" Value="True" />
</Trigger>
但它一键拉出列表,在某些情况下我不想要它。
当我遇到此问题时,我用模板列替换了组合框列,并将单元格模板设置为组合框。
然后我意识到处理带有组合框的模板列比处理组合框列要容易得多
可能您已经检查过了,但是单击其他项目后是否重置了"IsEdit"?也许添加默认值实际上是假的?