Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为独立于行操作的Datagrid单元格调用操作_C#_Wpf_Datagrid_Action - Fatal编程技术网

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
,其中第一列对于所有行都是常量。 我想要以下行为:

  • 当用户双击行的任何单元格(不包括第一个单元格)时,将调用动作A,知道选择了哪一行。这是基于事件的(触发事件)
  • 当用户双击任何行的第一个单元格时,将调用动作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>
    
    
    
    第(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>
    
    
    
    我删除了
    交互。触发器
    ,并将
    鼠标向下
    添加到
    文本块

    如果有人能使用绑定提供答案,我将不胜感激