En MVVM, ¿cuál es la mejor manera para que ViewModel responda a las acciones del usuario en la Vista?

Entiendo que en MVVM:

the View conoce el ViewModelthe ViewModel sabe sobre el modelo pero no funciona hacia arriba, por lo que el Modelo no sabe nada sobre ViewModel y ViewModel no sabe nada sobre View

Entonceshow ViewModel responde a las acciones que realiza el usuario en View, p.ej. escriba algo en un cuadro de texto o mueva un control deslizante, etc.

Entiendo que esto se hace con RoutedEvents pero casi todos los ejemplos de RoutedEvent que encuentro usan CodeBehind en la Vista, que es exactamente lo que ya no tienes en MVVM.

Entonces eso deja RoutedCommands que encuentro más ejemplos de en MVVM pero p. mover un control deslizante realmente no es unamand en ese sentido, es un evento, así que me pregunto si esto es realmente lo que debería usarse.

Entonces yo leer consejos como "In MVVMuse RoutedEvents lo menos posible yno RoutedCommands en absoluto" OKAY

Entonces eso se va, p. en elWPF Model-View-ViewModel Toolkit 0.1 proyecto del propio equipo de WPF, tiene un " DelegateCommand ", que también parece una forma interesante.

Entonces algunas personas también están usando " RelayCommand ".

Esta es una gran cantidad de opciones y confusión para hacer algo tan esencial para el desarrollo de aplicaciones.

¿Cuál es la mejor manera de hacer simplemente en MVVM lo que hemos estado haciendo durante los últimos 10 años con Code Behind:

crear botón botón de doble clicescribir código de manejo

Respuestas a la pregunta(4)

Su respuesta a la pregunta