如何一键在编辑模式下设置组合框列



我正在尝试跳过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"?也许添加默认值实际上是假的?

相关内容

  • 没有找到相关文章

最新更新