У меня есть datagrid
, где первый столбец является постоянным для всех строк. Я хотел бы следующее поведение:Вызвать действие для ячейки Datagrid независимо от действия Row
- Когда пользователь дважды нажимает на любую ячейку строки (за исключением первой ячейки),
action A
вызывается зная, какая строка выбрана. Это событие основано (вызывает событие). - Когда пользователь дважды щелкает по первой ячейке любой строки, вызывается
action B
, зная, какая строка выбрана.
Чтобы сделать это, я написал следующий код:
<DataGrid x:Name="dataGrid" ItemsSource="{Binding source}" MouseDoubleClick="doubleClick">
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="♣" Foreground="{Binding Path=color}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<i:InvokeCommandAction Command="{Binding FirstCellCommand}" CommandParameter="{Binding SelectedItem, ElementName=dataGrid}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Label" Binding="{Binding label, UpdateSourceTrigger=PropertyChanged}"/>
</DataGrid.Columns>
</DataGrid>
Point (1.) отлично работает, но (2) не вызывает действие.
Я пропустил пункт здесь?