Como saben que no se puede obligar a un evento directamente a un comando sin un comportamiento:Disparar un comando dentro de EventTrigger de un estilo?
<DataGrid>
<i:Interaction.Triggers>
<i:EventTrigger EventName="PreviewMouseDoubleClick">
<i:InvokeCommandAction Command="{Binding TradeEntryCommand"} />
</i:EventTrigger>
</i:Interaction.Triggers>
</DataGrid>
Esto funciona perfectamente bien, sin embargo, ahora tengo que refactorizar esto desde doble clic en la cuadrícula de datos a duplicar clic en la celda . (No me importa lo que se ha hecho clic celular)
que estaba esperando para definir esta behviour ahora dentro del estilo de celda como esto:
<Style x:Key="DefaultCellStyleBase" TargetType="{x:Type DataGridCell}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="PreviewMouseDoubleClick">
?????????
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<!-- ... -->
</Style>
Pero ¿cómo iba a traer en el comportamiento de arriba para disparar el ¿mando?
altamente apreciada,
Varios errores de esto ya están relacionados con la definición de comportamientos en estilos. En resumen: no se puede, al menos no sin saltar a través de MUCHOS aros de código complicados. Me encanta el comportamiento de EventToCommand, pero en casos como este siempre he tenido que recurrir a un EventSetter normal con el manejador de métodos en la vista que ejecuta el comando viewmodel. Se siente sucio, se ve feo con todas las comprobaciones nulas involucradas, pero después de haber analizado las "soluciones" de esto, probablemente sea aún más simple a menos que te encuentres con este montón de veces en una aplicación grande. –