As you know you can\'t bind an Event directly to a command without a behaviour:
Since you are retemplating the DataGridCell, you could add the triggers to the root element in the control template. Something like:
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid x:Name="root" Background="Transparent">
<i:Interaction.Triggers>
<i:EventTrigger EventName="PreviewMouseDoubleClick">
<i:InvokeCommandAction Command="{Binding TradeEntryCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Grid>
</ControlTemplate>
Thats a version I am using for a Button-command in a similar situation (Button in DataGridRow, Command on DataGrid should be invoked by the Button and I need the DataContext of the row in my command). You would have to use the command of the InvokeCommandAction of the doubleClick-trigger instead, but then it should work as well, I suppose.
Good luck!
<DataTemplate>
<TextBlock>
<Button x:Name="cmdButton"
Command="{Binding Path=DataContext.CommandNameInViewModel,
RelativeSource={RelativeSource AncestorType={x:Type TypeOfAncestorWithTheViewModel}}}"
CommandParameter="{Binding}" >
Do something
</Button>
</TextBlock>
</DataTemplate>