Bind same command to datagrid double click

时间:2018-02-01 18:31:02

标签: c# wpf

I have a menu item that is configured to execute a command using binding:

<MenuItem Margin="2" 
     Header="Process something"
     Command="{Binding SomethingCommand}" 
     IsEnabled="{Binding SomethingIsEnabled}">
</MenuItem>

It also configure if this item is enabled or not.

Now, I need to execute the same command when user double click a row in datagrid and only when "SomethingisEnabled" is true.

How to configure datagrid to do that?

1 个答案:

答案 0 :(得分:2)

设置xmlns:i =&#34; http://schemas.microsoft.com/expression/2010/interactivity"在xaml

<DataGrid x:Name="dataGrid" ItemsSource="{Binding DataList}">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="MouseDoubleClick">
                    <i:InvokeCommandAction Command="{Binding SomethingCommand}" CommandParameter="{Binding ElementName=dataGrid, Path=SelectedItem}"></i:InvokeCommandAction>
                </i:EventTrigger>
            </i:Interaction.Triggers>
</DataGrid>

这将调用relaycommand SomethingCommand并在双击网格上传递所选项目(如果有的话,否则为null)。