C# 为独立于行操作的Datagrid单元格调用操作
我有一个C# 为独立于行操作的Datagrid单元格调用操作,c#,wpf,datagrid,action,C#,Wpf,Datagrid,Action,我有一个datagrid,其中第一列对于所有行都是常量。 我想要以下行为: 当用户双击行的任何单元格(不包括第一个单元格)时,将调用动作A,知道选择了哪一行。这是基于事件的(触发事件) 当用户双击任何行的第一个单元格时,将调用动作B,知道选择了哪一行 为此,我编写了以下代码: <DataGrid x:Name="dataGrid" ItemsSource="{Binding source}" MouseDoubleClick="doubleClick"> <DataGr
datagrid
,其中第一列对于所有行都是常量。
我想要以下行为:
<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>
第(1)点工作正常,但第(2)点不会触发动作
我是不是漏掉了一点?以防万一有人会有类似的问题:我还没有找到我想要的东西!但是在使用代码隐藏方面还有一项工作要做。 它对我的作用如下:
<DataGrid x:Name="dataGrid" ItemsSource="{Binding source}" MouseDoubleClick="doubleClick">
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="♣" Foreground="{Binding Path=color}" MouseDown="this_MouseDown"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Label" Binding="{Binding label, UpdateSourceTrigger=PropertyChanged}"/>
</DataGrid.Columns>
</DataGrid>
我删除了交互。触发器
,并将鼠标向下
添加到文本块
如果有人能使用绑定提供答案,我将不胜感激