Siento que la comunidad MVVM se ha vuelto demasiado entusiasta como los programadores de OO en los años 90: es un nombre inapropiado MVVM es sinónimo de código. De mi pregunta cerrada de StackOverflow :
Muchas veces me encuentro con publicaciones aquí sobre alguien tratando de hacer el equivalente en XAML en lugar de código detrás. Su única razón es que quieren mantener su código "limpio". Corrígeme si estoy equivocado, pero no es el caso que:
XAML también se compila, en BAML, luego, en tiempo de ejecución, debe analizarse en código de todos modos. XAML puede tener potencialmente más errores de tiempo de ejecución ya que el compilador no los detectará en el momento de la compilación, debido a la ortografía incorrecta, estos errores también son más difíciles de depurar. Ya hay código detrás, nos guste o no InitializeComponent (); tiene que ejecutarse y el archivo .gics en el que está contiene un montón de código, aunque puede estar oculto. ¿Es puramente psicológico? Sospecho que son los desarrolladores que provienen de un fondo web y les gusta el marcado en lugar del código.
EDITAR: No propongo código detrás en lugar de XAML - use ambos - Prefiero hacer mi enlace en XAML también - Estoy en contra de hacer todo lo posible para evitar escribir código detrás de esp en una aplicación WPF - debería ser una fusión de ambos para sacarle el máximo provecho.
ACTUALIZACIÓN: Ni siquiera es idea de Microsoft, cada ejemplo en MSDN muestra cómo puede hacerlo en ambos.