选中复选框Previewmouseup事件不应触发

时间:2019-02-02 15:52:47

标签: .net wpf wpfdatagrid

点击DataGrid行的任何地方,复选框需要进行检查和执行对应的复选框的触发动作。如果我单击dataGrid行上的任何位置,则复选框处于选中状态,但是我将复选框置于第一列的问题是当我尝试选中复选框时,两个事件正在调用复选框选中/未选中,并且mouseup事件也正在触发。在这种情况下,不应该触发Mouseup。 ****注:无代码后面应该在XAML处理****

<DataGrid>
 <i:Interaction.Triggers>
<i:EventTrigger EventName="PreviewMouseUp">
<i:InvokeCommandAction Command="{Binding DataContext.RowSelectionCommand, RelativeSource={RelativeSource AncestorType={x:Type Window}}}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox>
<i:EventTrigger EventName="Checked">
<i:InvokeCommandAction Command="{Binding DataContext.CheckedCommand, RelativeSource={RelativeSource AncestorType={x:Type Window}}}" />
</i:EventTrigger>
<i:EventTrigger EventName="Unchecked">
<i:InvokeCommandAction Command="{Binding DataContext.UnCheckedCommand, RelativeSource={RelativeSource AncestorType={x:Type Window}}}" />
</i:EventTrigger>

</CheckBox>
</DataTemplate>
<DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>

0 个答案:

没有答案
相关问题