¿Cómo vincular un comando en WPF a un controlador de eventos de doble clic de un control?

Necesito vincular el evento de doble clic de un bloque de texto (o potencialmente una imagen también, de cualquier manera, es un control de usuario), a un comando en mi ViewModel.

TextBlock.InputBindings no parece vincularse correctamente a mis comandos, ¿alguna ayuda?

Prueba los comportamientos de comando adjuntos de Marlon Grech.

es simple, usemos la forma MVVM: estoy usando MVVM Light, que es fácil de aprender y fuerte.

1. ingrese las siguientes líneas las declaraciones xmlns:

 xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:GalaSoft_MvvmLight_Command="clr-namespace:GalaSoft.MvvmLight.Command; assembly=GalaSoft.MvvmLight.Extras.WPF4" 

2. Defina su bloque de texto de la siguiente manera:

        

3.entonces escribe tu código de comando en tu viewmodel !!!

ViewModel1.cs

 Public RelayCommand Edit_Command { get; private set; } Public ViewModel1() { Edit_Command=new RelayCommand(()=>execute_me()); } public void execute_me() { //write your code here } 

Espero que funcione para ti, ya que lo he usado en la aplicación Real ERP

También tuve un problema similar en el que necesitaba vincular el evento MouseDoubleClick de una vista de lista a un comando en mi ViewModel.

La solución más simple que surgió fue poner un botón ficticio que tiene el enlace de comando deseado y llamar al método Execute del comando del botón en el manejador de eventos del evento MouseDoubleClick.

.xaml

    

código detrás

  private void ListView_MouseDoubleClick(object sender, MouseButtonEventArgs e) { doubleClickButton.Command.Execute(null); } 

No es sencillo, pero es realmente simple y funciona.