[英]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.