繁体   English   中英

WPF DataGrid双击事件在CellEditingTemplate中

[英]WPF DataGrid Double Click event in CellEditingTemplate

我有一个WPF DataGrid。 只需单击一下,我就可以编辑DataGrid中的每个单元格。
我也想双击打开一个新窗口。

双击事件适用于像这样的普通DataGridTextColumn

<DataGridTextColumn Binding="{Binding Path=Name}" >
    <DataGridTextColumn.EditingElementStyle>
        <Style TargetType="TextBox">
            <EventSetter Event="MouseDoubleClick" Handler="CellEditDoubleClick"/>
        </Style>
    </DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>

但是当我处于TextBox的编辑模式时,如何使用这样的模板来做到这一点:

<DataGridTemplateColumn Header="Weight">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=Weight}" />
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
    <DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <TextBox x:Name="WeightEditTextBox" Text="{Binding Path=Weight}" >
                <i:Interaction.Behaviors>                       
                    <helper:TextBoxInputRegExBehaviour RegularExpression="^\d+\,?\d*$" />
                </i:Interaction.Behaviors>
            </TextBox>
        </DataTemplate>
    </DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>

当前,在编辑模式下,双击确实被触发。
Perfect将是适用于完整DataGrid的解决方案,而我不必将其添加到DataGrid中的每一列。

我认为为TextBox添加“ MouseDoubleClick”事件处理程序将起作用。 即使在模板中。

<DataGridTemplateColumn.CellEditingTemplate>
                <DataTemplate>
                    <TextBox x:Name="WeightEditTextBox" Text="{Binding Path=Weight}" MouseDoubleClick="WeightEditTextBox_MouseDoubleClick">
                        <i:Interaction.Behaviors>

                        </i:Interaction.Behaviors>
                    </TextBox>
                </DataTemplate>
            </DataGridTemplateColumn.CellEditingTemplate>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM