Estoy tratando de iniciar un ICommand cuando el usuario hace doble clic en un elemento de la lista. Además, estoy tratando de hacer esto usando el patrón MVVM.¿Cómo disparar un comando al hacer doble clic en el elemento de la lista usando MVVM?
En este XAML, la tecla presionar "p" funciona perfectamente. Cuando hago doble clic en el cuadro de lista, el comando nunca comienza. Establecí un punto de interrupción para confirmar que no se llama "PlayVideoCommand" con un doble clic. ¿Me estoy perdiendo algo o tengo que usar Setter (con el que no estoy familiarizado)?
<ListBox Name="SmallVideoPreviews" Grid.Column="1" MaxHeight="965"
ItemsSource="{Binding BrowseVideos}"
ItemTemplate="{StaticResource BrowseTemplate}">
<ListBox.InputBindings>
<KeyBinding Key="p"
Command="{Binding PlayVideoCommand}"
CommandParameter="{Binding ElementName=SmallVideoPreviews, Path=SelectedItem}"/>
<MouseBinding Gesture="LeftDoubleClick"
Command="{Binding PlayVideoCommand}"
CommandParameter="{Binding ElementName=SmallVideoPreviews, Path=SelectedItem}"/>
</ListBox.InputBindings>
</ListBox>
Ambos doble clic y "p" deben ejecutar el mismo comando. Cuando uso el mouse, puedo ver que el cuadro de lista está seleccionado. Tengo la corazonada de que la propiedad Comando MouseBinding no es una propiedad de dependencia, pero no sé cómo confirmar esto.
Vi el segundo enlace que publicaste, pero esperaba que las cosas hayan cambiado desde que se publicó hace unos años. Creo que voy a publicar un par de líneas en el código detrás del archivo. Estoy teniendo dificultades para seguir con MVVM en este caso. Gracias por los detalles. – James